2023年实现稀疏矩阵采用三元组表示的基本运算实验报告.docx
《2023年实现稀疏矩阵采用三元组表示的基本运算实验报告.docx》由会员分享,可在线阅读,更多相关《2023年实现稀疏矩阵采用三元组表示的基本运算实验报告.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实现稀疏矩阵(采用三元组表达)的基本运算实验报告一实验题目: 实现稀疏矩阵(采用三元组表达)的基本运算二实验规定:(1)生成如下两个稀疏矩阵的三元组a和b;(上机实验指导P92 )(2)输出a转置矩阵的三元组;(3)输出a + b的三元组;(4)输出a * b的三元组;三实验内容:3. 1稀疏矩阵的抽象数据类型:A DT S pars e M a trix 数据对象:D= aij| i =2, 3, n;a i JE1 e mS e l,m和n分别称为矩阵的行数和 列数数据关系:R= Row , Col )Row = | iWiWm, lWjW n -1)Col=| 1 W i Wm-l, 1
2、 WjWn 基本操作:Cr e a t cSMatrix(&M)操作结果:创建稀疏矩阵MPrintSMatrix (M)v =a. d atai. d+ b . dataj. d;。oi f (v!=0)/只将不为0的结果添加到c中8ooc. d ata k . r=a. d a tai. r;ac. d a tak. c=a. datai. c ;gg c. da t ak. d=v;k+;6031+; j+;)e 1 s e if ( a . da t ai. rc. d a t a k. d =a. dat a i. d;ok+; i +;)oc 1 se 600oc 1 se 600/
3、 /a元素的行号大于b元素的行号。c. d atak. r= b . data j . r;/ /将 b 元素添加到 c 中。 c. d at a k . c =b. d a t a j. c;3C. datak. d= b . da t aj . d ;。k+; j+;)c. n u ms=k;)return true;int getv a lu e (T S Matrix c,int i , int j)(int k =0;wh i le (kc. num s & (c. da t ak. r! = i I | c. da t ak. c!=J )g k + + ;if (kc. nums
4、)ret u rn ( c . d at a k. d);elseoreturn(O);bool MatMul (TSMat r ix a, TSMatrix b, TSMatrix & c )i n t i, j, k, p=0;El e mT y p e s ;if ( a . c o 1 s!=b. rows) “/a的列数不等于b的行数时不能进行相乘运算return f als e ;for ( i =0;ia. r ows;i+)for (j=0; j b. col s ; j+)。(s= 0 ;for ( k =0;ka. co 1 s;k+ + )os= s +g e tvalu
5、 e (a, i, k)*g e tvalue(b, k,j);if ( s !=0)/产生一个三元组元素c . d atap. r=i;c. da t a p . c = j ;c . datap. d= s ;p+;c. rows=a. r ows;oc. c o 1 s =b. c ols;oc. n u m s =p;ret u rn true;int main ()(E 1 emTy pe alNN = 10, 3,0),0, 1,0,0),(0,0, 1,0, 0 , 0, 1, 1);6ElemType bl N N =3, 0, 0,0,0, 4, 0,0,0,0, 1,0,0
6、,0,0, 2);oTSMatrix a , b, c;sCreatMat (a, a 1 ) ; Great Mat ( b , b 1 ); opri n tf ( a 的三元组:n); DispMa t (a);呼 r intf ( b 的三元组: n );D i spMat (b); op r i ntf ( a转置为 c n);Tr a nMat (a, c);叩 r i n tf (,zc 的三元组:n);D i spMa t (c);oprintf (c=a+b n);M a tA d d (a, b, c);p r i ntf ( c 的三元组: n);DispMa t (c)
7、;o p ri n t f ( c=a X b n);MatMul ( a , b, c);opr i n tf (c 的三元组:n );Di s pMa t ( c );r e tur n 0;四实验结果(T D:C2014.1212.12test.exea的三元组: 40 0 12 33 b的三元组:4131111401234专置为cc的三元组:434120 12223 c=a+b c的三元组:41131110 12 3 3435213c=aXbc的三元组:446032341 112 2Process 工eturned 0 (0x0) execution time : 0.017 s Pr
8、ess any key to continue.初始条件:稀疏矩阵M已经存在操作结果:打印矩阵MDestroySMatr i x(&M)初始条件:稀疏矩阵M已经存在操作结果:销毁矩阵MCopySMat r ix(M, &T)初始条件:稀疏矩阵M已经存在操作结果:复制矩阵M到TAddSMatri x (M, N , &Q)初始条件:稀疏矩阵M、N已经存在操作结果:求矩阵的和Q=M + NS ub S Matr i x (M, N, &Q)初始条件:稀疏矩阵M、N已经存在操作结果:求矩阵的差Q=M-NTr a n s poseSMatr i x(M, & T)初始条件:稀疏矩阵M已经存在操作结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 实现 稀疏 矩阵 采用 三元 表示 基本 运算 实验 报告
限制150内