欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:72835395       资源大小:53.59KB        全文页数:11页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    教学单位计算机科学与技术学生学号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;k<= p ->h s ;k+)。8fo r( 1 =l;l<=p->ls; 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 ("% 5 d ", 0);° 1gprinlf (" n");°oprin t fC'n");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;b>f 1 s=a->fls;if (b-> f 1 s)°° q =1;。 f o r(col= 1 ; col<=a- > ls;col+)*fbr(p=l;p<=a->f 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 afq.e=a>dataf 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(ut |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 。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 nttr'A-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 ntfC'A->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 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();小结:实验目的:进一步研究数组的存储表达和实现技术,熟悉广义表存储结构的特性。需要分析:稀疏矩阵是指那些多数元素为零的矩阵,运用“稀疏”特点进行存储和计算可以 大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。规定以带 “行逻辑链接信息”的三元组顺序表存储稀疏矩阵,实现两矩阵的相加、相减、相乘等运算。输入以三元组表达,输出以通常的阵列形式列出。软件平台: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 = (<aij,a i J+l>| 0W i W b 1.1,0W jWb2-2基本操作: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调试测试:法宣法序 加程 应 矩矩矩矩该 疏疏疏疏出 8H12 3 4 5前入要进行的项目的编号:初始界面3 31233 3321数(以窜格隔开:3矩阵的加法3 35463 2 13>12 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二一二 - 矩元元元 入三三三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 < < < 零手s赛 非元元元 3田向向向-Oss1矩矩 的、入入入 项奈式式 的的形形形 荏组组组 进矩元元元贵三三三A:l 人输用用用阵 一|月主QE主月主BE电Tk Ik V lr s IP->B: 100020003矩阵的转置32 2 6 32 12 2 :舟>:1>:1>:2 格元元元 空! 又一1L一1L正1 二 I 二 I 二 <列T- T零非元元元 4A 一1 V矩矩 的、入入入 目项奈式式 的的形形形 在组组组 进矩元元元费三三三a:2 0 入输用用用阵 心里0E主月主R主0E把 > tk、tk > tk、卜>«八>:2 2 21152 2 4道输入矩及的笈袈 请用三元组形我第 请用三元组形式酩24122412*B: 100矩阵的乘法程序源码:# i ncl u d e< s t dio. h >i n c lud e <mal 1 oc. h ># i n clude<stdlib. h ># d efineMAXSIZE 40 /假设非零元素个数的最大值为4 0#defineMAXRC 2 0 假设矩阵的最大行数为20t y pcdcf i n t E IcmT y p e;t y pede f struct°int i,j;/非零元的行下标和列下标ElemTy pee;/ /非零元的值T r i pie;typed e f s t ruct (oT r iple data MA XS I ZE+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 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 a ta b. i ) (®if(A. d ata a .j<B. dat a b. j )oC.da t a l+4-J=A.dataa+J;s els e if (A.dataal.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.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 . 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(arow<A.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;p<tp; p+)ga «brow=A.data p . j ;, ®if( b ro w<B. hs>t=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 ol<=Q. 1 s; cc o 1 +)0 o。i f(ct e mp c c o 1 )g。 ,if (+Q. f 1 s>MAXSIZE) 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;*稀疏矩阵的加、减、转、乘*

    注意事项

    本文(2023年数据结构实验报告稀疏矩阵运算.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开