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

上传人:无*** 文档编号:90871006 上传时间:2023-05-18 格式:PDF 页数:14 大小:1.01MB
返回 下载 相关 举报
2023年数据结构实验报告稀疏矩阵运算.pdf_第1页
第1页 / 共14页
2023年数据结构实验报告稀疏矩阵运算.pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

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

1、教 学 单 位 计算机科学与技术学生学号_ _ _ _ _ _ _ _ _潮关/行挈疣HUBEI ENGINEERING UNIVERSITY数据结构课程设计报告书题 目 稀疏矩阵运算器学牛.姓名秦豹_ _ _ _ _ _ _ _ _ _专业名称软件工程指 导教 师李 志敏实验目的:进一步研究数组的存储表达和实现技术,熟悉广义表存储结构的特性。需要分析:稀疏矩阵是指那些多数元素为零的矩阵。运 用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率0 实现一个能进行稀疏矩阵基本运算的运算器。规定以带“行逻辑链接信息”的三元组顺序表存储稀疏矩阵,实现两矩阵的相加、相减、相乘等运算。输入以三

2、元组表达,输出以通常的阵列形式列出。软件平台:w i ndows2023,Vi s u al C+6.0 或 WINTC概要设计:A DT Array 数据对象:D=aij|OW iW bl-1,0 WjWb2T数据关系:R=R O W,COL)ROW=|OWi bl-2,OWjWb 2-1COL=|0/i W b 1-1,0W jW b2-2基本操作:Crea t eSMa t r i x(&M);/操作结果:创建稀疏矩阵M.Pri n t SM a trix(M);/初始化条件:稀疏矩阵M 存在./操作结果:输出稀疏矩阵M.A ddSM atri x(M,N,&Q);初 始化条件:稀疏矩阵

3、M与 N 的行数和列数相应相等.操作结果:求稀疏矩阵的和。=乂+S ubSMat r i x(M,N,&Q);初始化条件:稀疏矩阵M与N的行数和列数相应相等./操作结果:求稀疏矩阵的差Q=M-N.MultSMatri x(M,N,&Q);/初始化条件:稀疏矩阵M的列数等于N的行数.操作结果:求稀疏矩阵的乘积Q=M*N.ADT Ar r ay调试测试:*稀疏矩阵的加、减、转、乘*12345法宣法序加程-tjl,r二.Qrls二匚-L,&应矩矩矩矩该疏疏疏疏出fn输入要进行的项目的编号:初始界面一一一331 2331 23123 格元元元空-八三T-1三X-列列介亍亍亍-7123_7 格元元元1八

4、-二Tr.二二-二二二二X-数列列列A-T-T-T-7 1336020040人三三三B:300输用用用阵 m n E V D E主星月拒400格元元元空IA-p-yJ_丁亍亍-212X141一零!非元元元2田田向向Ous矩矩W、人人入SB1项您式式的的形形形-TIRH-_HnaH-期矩元元元006500一三三三A:040天输用用用阵主星Q E青矩331 74331 2 123开 ra芹K芹不萨K7,DC r r lw力格元元元空1050IA-:1:2:3格元元元空-一二二二二二二-二二数列列列后仃-7B003020100矩阵的转置2 32632122112格元元元空1八一二三一二p-z数列丁亍

5、、:V-on矩矩的、入人入目项奈式式的的形形形一律组组组进矩元元元费三三三A:20入输用用用阵里月主收主月主R也2 25421212开:raerly格元元空|1八二二二PVJJ3-数列列零零!非元元乱矩、人人曹式的形形阵组组矩元元入三三B:50输用用阵Ade主he主A起开8SM6304-r、lB*0014221矩阵的乘法程序源码:#i ncl u d e#i n c lud e#i n clude#d efineM A X SIZE 40/假设非零元素个数的最大值为4 0#defineMAXRC 2 0 假设矩阵的最大行数为20t y pedef i n t E lemT y p e;t y

6、pede f structint i,j;/非零元的行下标和列下标ElemT y pee;/非零元的值T r i pie;typed e f s t ruct(T riple d ataM A XS I ZE+1 1;“nt rpo s MAXRC+l:各行第一个非零元在三元组的位置表“n t hs,ls,fls;T SMat r i x,*M a trix;void C reat(T SM a trix&M)(in t i,k;for(i=1;i=MAXRC+l;i+)M.rp o si=0;。sp rin t f(请输入矩阵的行数、列数和非零元个数(以空格隔开片);oscanf(H%d%d

7、%d,&M.h sfor(i=l;i=M.fls;i+)(-pri n t f(请 用三元组形式输入矩阵的元素(行列 非零元素):”);scanf(u%d%d%d”,&M.d a t a i.i,&M.d a t ai.j,&M.datai.e);ofor(i=1,k=l;i=M.h s;i+)M.r pos i=k;dwhile(M.d ata k.i=i&k=M.fls)g k+;0)vo i d Xiang j i a(TS Matrix A,TSMatrix B,TSMat r ix&C,i n t n)(“nt a,b,temp,1;C.h s=A.h s;C.ls=A.ls;a=b

8、=l=l;wh i 1 e(a=A.fls&b=B.fls)(i f(A.da t aaj.i=B.d a ta b.i)(“f(A.d atal a J.j B.data b.j)_C,datal=B.dat a b;C.d at a l+.e=n*B.d a t ab+.e;0g e Is e g temp=A.data a.e+n*B,datab.e;g i f(temp)a oo(。oC.d ata l=A.datal a;00C.d atal.e=t e mp;。1+;。&a+;b+;0000)else i f(A.dat a aJ.iB.d a ta bj.i)。(2.d a t

9、a L 1 +=A.data a+;d e Ise C.d a t a 1 =B.da t ab;C.datal+.e=n*B.datab+.e;)owh i le(a=A.f Is)C.datal+=A.da t aa+;whi 1 e(b=B.fls)g C.dat a 1=B.da t ab;C.d a t a 1 +.e=n*B.data b+.e;C.f 1 s=l-l;)i n t X i an g che n g(TSMatrix A,TSMa t rix B,T S Matrix&Q)(int aro w,b r ow,ccol,tp,p,q,t;i nt c t emp MA

10、XRC+1J;i f(A.1 s!=B.h s)。ret u r n 0;o Q.h s=A.hs;Q.ls=B.ls;Q.f ls=O;oi f(A.f 1 s*B.f l s)for(ar o w=1;a r o w=A.hs;a r ow+)for(cc o 1=1;c col=Q.1 s;c c o 1 +)g 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;fbr(p=A.rpo s a r owj;pbrow=A.data p.j;“f(b ro

11、wB.hs)t=B.r p os b row+1;gel s e t=B.f ls+1;f or(q=B.rpos brow;q t;q+)6“o c col=B.dat a q J.j;o c tempcc o 1+=A.data Lp.e*B.d a t a q.e;)of o r(ccol=l;c c olMAXSIZE)return 0;g Q d ata Q.f 1 s.i=a r o w;gQ.d a t a Q.f Is.j=cc o 1;Q.da t aQ.fls.e=ctem p ccol;)。e t u r n 1;)v o i d P r i n t _ S M a t

12、r i x(T S M a t r i x M)(i n t k J,n;a t r i x p ;p=&M;f o r (k=l,n=l;k h s ;k+)o o f o r (1=1 ;l l s;1 +)。i f (p-d a t a n J.i=k&p-d a t a n .j =1)60|o o o o p r i n t f (5 d“,p-d a t a E n J.e );g n+;0)s e l s ep r i n t f (5 d ,0);)o o p r i n t f (u nn);0)叩r i n t f(“n );)v oid Zhuan z h i(TSMa

13、t rix*a,TSMatrix*b)Antq,co l,p;ob-h s=a-l s;b-ls=a-hs;bf 1 s=a-fls;if(b-f 1 s)q=1;o f o r(col=l;col ls;col+)6for(p=l;pf 1 s;P+)g if(a-d a ta p.j=col)。g b-dataqj.i=a-dataL P J.j;g gb d ata q .j=a-d a t ap.i;。b-da t aqj.e=adata p .e;叶+q;000)v o i d De s t o r y_ S Ma t r ix(T S M a trix&M)(OM.h s=M.1

14、s=M.f 1 s=0;)void main()T S Mat r i x A,B,C;0TsM a tri x*p=&A,*q=&B:i nt f lag,n;。w h i le(1)(s ystem(cl s);printf(n n nn n);p rin t f f t -nu);p rin tf(t|*稀疏矩阵的加、减、转、乘*n);“pri n tf(t|-叩ri n tf(t|I n );p r in t f(t|I n);print f(t|I n);。p r i n tf(t|I n);printf(t|I n);p r i n t f(t 1 n );-1 n );1、稀 疏

15、 矩 阵 的 加 法2、稀 疏 矩 阵 的 减 法3、稀 疏 矩 阵 的 转 置4、稀 疏 矩 阵 的 乘 法5、退 出 该 应 用 程 序oprintf(输入要进行的项目的编号ooscan 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);gswitch(f la g)(c a se 1:Creat(B);n=1;。p ri ntf(矩阵P rint_SMatr i x(B);o oi f(A.hs=B.hs&A.l s=B.1 s)0 6|-p r i n tf(A+B:n”

16、);。o Xian g j ia(A,B,C,n);。Print_SMa t rix(C);0000 b。e 1 se p r int f(错误!行列不一致n);go bre a k;c a s e 2:Cre a t(B);n=-1;g printf(矩 阵 B:n );。Prin t _ SM a trix(B);o if(A.h s=B.h s&A.1 s=B.ls)000。pr i ntf(nA-B:nn);g gXi a ngjia(A,B,C,n);P r i nt_SM a tr i x(C);08)00else print f(错误!行列不一致n”);g br e a k;c

17、a s e 3:p r i ntf(A-B:n);Zhuan z h i(p,q);。P rint_SM a trix(B);8。b r e a k;c a s e 4:Creat(B);。prin t f(矩阵B:n”);Print_ S Matrix(B);prin t f(u A*B:n);g n=Xiang c heng(A,B,C);。8。i f(!n)p r 错误!行列不匹配n);g el s e P r in t _SMatrix(C);o 。break;3 defau 1 t:叩rint f(输入错误!nn);00)oeDes t or y _SMatrix(A);De s tory_ SM a trix(B);e story_ SMat r ix(C);“getchar();getchar();)叩 r intf(M n t t t*程序已经退出*n );g e t ch a r();)小结:

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档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