2023年数据结构实验报告稀疏矩阵运算.docx

上传人:太** 文档编号:72835395 上传时间:2023-02-13 格式:DOCX 页数:11 大小:53.59KB
返回 下载 相关 举报
2023年数据结构实验报告稀疏矩阵运算.docx_第1页
第1页 / 共11页
2023年数据结构实验报告稀疏矩阵运算.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2023年数据结构实验报告稀疏矩阵运算.docx》由会员分享,可在线阅读,更多相关《2023年数据结构实验报告稀疏矩阵运算.docx(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、教学单位计算机科学与技术学生学号HUBEI ENGINEERING UNIVERSITY数据结构课程设计报告书题目稀疏矩阵运算器学生姓名秦豹专业名称软件工程指导教师李志敏voi d P r int_SMatrix( T SMatrix M)(in t k,l, n;oM a t r i x p ;p=&M;for (k=l,n=l;kh s ;k+)。8fo r( 1 =l;lls; 1+)00 13。i f (p-da t a n. i=k & p-datan .j =1)gggpri n t f (%5d, p- d a t a n. e );gn+ +;。els eprin t f (%

2、 5 d , 0); 1gprinlf ( n);oprin t fCn);v oid Zhuan z h i(TSMa t rix *a,TSMatrix *b)intq, col, p;b-h s =a-l s ;b-ls= a -hs;bf 1 s=a-fls;if (b- f 1 s) q =1;。 f o r(col= 1 ; col ls;col+)*fbr(p=l;pf 1 s; p +)a if(a-d a ta p . j =col)。(。 g b -dataq. i =a-data p . j;a wb d ata q . j =a-d a t ap. i ;gb-da t

3、 afq.e=adataf p .e;H+q;000 |)v o i d De s t o r y_ S Ma t r i x (T S M a t r i x &M)(sM. h s=M. 1 s =M.f 1 s= 0 ;void main()T S Mat r i x A,B,C;T S M a tri x *p=&A,*q=&B;i n t f lag, n ;wh i le (1)s ystcm (cl s );printfC n nn ); p rin t f( tn);printf(t |n);gpri n tf( t叩ri n tf(t |I n*,);p r in t f(u

4、t |I n);print f ( ut |I n);。p r i n tf( t |I n );叩rirnf(t |I n);print f( t 1*稀疏矩阵的加、减、转、乘*I、稀疏矩阵的加法2、稀疏矩阵的减法3、稀疏矩阵的转置4、稀疏矩阵的乘法5、退出该应用程序 n):叩rinlf(输入要进行的项目的编号“scan f (d”, &fl a g);if(flag=5 b r e a k ;“Cre a t (A);。 p r i ntf(矩阵 A: n) ; Pri n t_SMatrix (A);dswitch(f lag) c a sc 1 : Creat( B );n= 1 ;o

5、 。pri ntf(矩阵 B:n );P rint_SMatr i x(B);。i f(A.hs=B.hs & A.I s =B. 1 s)O 0g8prinif(A+B:n);。X ia n g j ia(A, B, C, n);。 Print_SMa t rix(C);*g I。e 1 se p r int f (错误!行列不一致n);g。 bre a k;c a s e 2: Crc a t( B ) ; n =-1 ;gprinlf(矩阵 B:n );gPrin t _SM a trix(B);bif ( A. h s= B . h s & A. 1 s =B.ls)。 pr i nt

6、trA-BAn);。 Xi a ngjia( A .B,C,n);oP r i nt_SM a tr i x (C );MO 0000else print f (错误!行列不一致n);。br e a k ;case3: pr i ntfCA-B: n”);Zhuan z h i (p, q);。 o P rint_SM a trix(B);a。 b r e a k;case 4: Crcat ( B);prin t f(矩阵B:rT):Print_S Matrix(B):prin t f ( A*B: n );。n=Xia n g c he n g(A,B C);s a。i f (!n) p

7、r inlf(错误!行列不匹配n );el s e P r in t _SMatrix(C);。 break;a defau 1 t : aprint f (输入错误! n);00 Des t ory _SMatrix(A);De s tory SM a trix(B);e story_SMa( r ix (C);g g ctchar ();getchar();)叩r imf ( n tt t* *程序己经退出* *n );g e t ch a r();小结:实验目的:进一步研究数组的存储表达和实现技术,熟悉广义表存储结构的特性。需要分析:稀疏矩阵是指那些多数元素为零的矩阵,运用“稀疏”特点进

8、行存储和计算可以 大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。规定以带 “行逻辑链接信息”的三元组顺序表存储稀疏矩阵,实现两矩阵的相加、相减、相乘等运算。输入以三元组表达,输出以通常的阵列形式列出。软件平台:w i ndows 2023, Vis u al C+ 6.0 或 WINTC概要设计:A DT Array (数据对象:D = a ij | OWiWbl/,0WjWb2-l数据关系:R = ROW, COL)ROW = Vai, j,a i +1, j | OWiWbl-2, OWjWb 2/COL = (| 0W i W b 1.1,0W jWb2-2基本

9、操作:Creates Mat r i x (&M); /操作结果:创建稀疏矩阵M.Pri n t SM a trix(M);/初始化条件:稀疏矩阵M存在.操作结果:输出稀疏矩阵M.AddSMatr i x(M,N, &Q);初始化条件:稀疏矩阵M与N的行数和列数相应相等.操作结果:求稀疏矩阵的和。=1 + 1.初始化条件:稀疏矩阵M与N的行数和列数相应相等./ /操作结果:求稀疏矩阵的差Q =M-N.MullSMatrix(M, N, &Q);/初始化条件:稀疏矩阵M的列数等于N的行数.操作结果:求稀疏矩阵的乘积Q=M*N. ADT Ar r ay调试测试:法宣法序 加程 应 矩矩矩矩该 疏疏

10、疏疏出 8H12 3 4 5前入要进行的项目的编号:初始界面3 31233 3321数(以窜格隔开:3矩阵的加法3 35463 2 1312 3 丹 里木素素 格元元元 空零零零 二二二三3 31 743 3 12 12 3 开 格兀元元z-ffff仃矩阵的减法数 见至格瑕开:3 列三缪元素:1 1 歹!三缪元素):2 2 多:三零元素:3 3S:1价丁亍亍零秦秦秦非元元元D L % VL a VL V人-丁- 丁-丁 元q”矩矩 的、入入入 目项兔式式 的的形形形 标组组组 进矩元元元治矩矩、入入输用用用阵 Tk Tk Tk TkiA/Bl 0 L3式式 的形形形-l4-l-rn-l二一二

11、- 矩元元元 入三三三B: 输用用用阵 主星星星电零非元元元 :2-:于的,的 on矩矩 的)J人入 目项奈式式 的的形形形 -TfrQH-nRRn 进矩元元元的的 H *矩矩、入要入三三三A:0入输用用用阵寓请请请矩li 1 里式式 的形形形 -且且且 0 矩元元元 入三三三6:0 制局阵 青青青A-B: 05-1-3000-463 3123哒定格限开“3 韭重元塞1 非察元重:2 2 非零兀素:3 3介亍亍亍 - 7 B: 100020003矩阵的转置32 2 6 32 12 2 :舟:1:1:2 格元元元 空! 又一1L一1L正1 二 I 二 I 二 tk、tk tk、卜八:2 2 21

12、152 2 4道输入矩及的笈袈 请用三元组形我第 请用三元组形式酩24122412*B: 100矩阵的乘法程序源码:# i ncl u d ei n c lud e # i n clude# d efineMAXSIZE 40 /假设非零元素个数的最大值为4 0#defineMAXRC 2 0 假设矩阵的最大行数为20t y pcdcf i n t E IcmT y p e;t y pede f structint i,j;/非零元的行下标和列下标ElemTy pee;/ /非零元的值T r i pie;typed e f s t ruct (oT r iple data MA XS I ZE

13、+1;aint rpo s MAXRC + 1;各行第一个非零元在三元组的位置表“n t hs, ls,fls;TSMat rix , *M a trix;void Cr e at(TSM a irix &M) (An t i,k;for( i = 1 ;iv=MAXRC+1 ;i+)M.rp o sli=0; o P rin t f(请输入矩阵的行数、列数和非零元个数(以空格隔开):);scanf(%d%d % d sfor(i=l; i =M.fls; i +) ,叩ri n t f( *请用三元组形式输入矩阵的元素(行列非零元素):);scanf(% d %d %d , &M.d a t

14、 a i.i,&M.d a t ai .j,&M.datai. e );4o r(i= 1, k=l; i=M.h s ;i+)(oM. r pos il=k;while(M. d ata k . i=i & & k=M.fls)。k+; 1)vo i dXiangj i a (TSMat rix A,TSMatrix B,TSMat r ix &C, i n t n) (int a , b,tcmp, 1;C h s = A. h s;C. ls=A.ls;a=b=l = 1;wh i 1 e (a= A .fls & & b=B. fls) |i f (A. da t aa. i=B.d

15、a ta b. i ) (if(A. d ata a .j B .dataf b .j)gC. datal=B.dat a b; C. d at a 14-+.e=n*B.d a t ab+. e;e Is e temp=A.data a . e +n * B .datab.e;,。 i f (temp)a oo &。. data lj=A.data a ;C. d atal.e=t e mp;M+;。a+;b+;0000 )else i f (A. dat a a.i B ,d a ta b.i)ggC. data 1 +=A. data a +4-; e Ise C. dat a 1 =B

16、.da t ab; C .datal+ .e= n * B . datab+ .e;0)wh i 1c (a=A. f Is)C.datal+=A.da t aa+;whi 1 e ( b = B .fls)g C.dai a 1 =B.da t ab ; C .d a t a 1 +.e= n *B.data b+. e ;C.f 1 s=l-l;Ii n t X i an g che n g (TSMatrix A,TSMa t rix B,T S Matrix &Q)(int aro w,b r ov,ccol,tp,p, q,t:i nt c t emp MAXRC+1 ;i f( A

17、 . 1 s! =B.h s ) * ret u r n 0;oQ .h s = A .hs;Q. ls=B.ls;Q. f ls=O;i f (A. f 1 s*B. fls)for(ar o w= 1 ; aro w=A.hs; a r ow+)o for (cc o 1=1; c col=Q. 1 s; c c o 1 +)。c temp c col= 0 ;Q .rpo s ar o w =Q.f 1 s+l;if(arowA.h s ) tp=A. r p os a row+ 1 ;。 els e t p=A.fls+ 1 ;g fbr( p =A.rpo s a r owl;ptp

18、; p+)ga brow=A.data p . j ;, if( b ro wt=B.r p os b row+ 1 ;s e t=B. f ls+ 1 ;a f or(q=B.rposbrow;q t ; q +)0 (。 mo c col=B.dat a q .j:,。 o c tempcc o 1 +=A.data pJ.e*B. d a t a q.e; 82 )o r (ccol=l;c c olMAXSIZE) return 0;a Q . d ata Q .f 1 s .i=a row;。Q.d a t a Q . f Is. j=cc o I;Q.da t aQ.fls.e=ctem p ccol;*稀疏矩阵的加、减、转、乘*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com