ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:56.72KB ,
资源ID:1037426      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1037426.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构矩阵的压缩存储程序.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构矩阵的压缩存储程序.docx

1、数据结构矩阵的压缩存储程序实验报告课程名:数据结构(C语言版)实验名:矩阵的压缩存储姓 名: 班 级: 学 号: 时 间:2014.11.23一 实验目的与要求1. 掌握并实现稀疏矩阵的压缩存储的方法2. 在该存储方法上实现矩阵的操作二 实验内容 判断一个用二维数组存储的矩阵是不是稀疏矩阵 将其转化为压缩存储的形式 在压缩存储上实现矩阵的乘法和转置操作三 实验结果与分析压缩转置程序:#include/判断该矩阵是否为稀疏矩阵#define m 10#define n 10int amn= 1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0

2、,0,0,0,0, 1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,7,0, 0,0,0,0,0,0,8,0,0,0, 0,0,0,0,0,0,0,0,0,0, ;struct three int i,j; int value;struct three stu100;struct three1 int i,j; int value;struct three1 stu1100;int jiance() int x=0;/赋初值为0 for(x=0

3、;x=99;x+) stux.value=0; float t=0; float v; for(int i=0;im;i+) for(int j=0;jn;j+) if(aij!=0) t+; if(v=t/(m*n)=0.05) printf(该矩阵为稀疏矩阵%fn,v); return 1; else printf(该矩阵不是稀疏矩阵n); return 0; void yasuo() int t=0; for(int r=0;rm;r+) for(int c=0;cn;c+) if(arc!=0) stut.i=r; stut.j=c; stut.value=arc; t+; void

4、display() int x=0; printf(压缩矩阵的三元组为:n); for(x=0;x=99;x+) if(stux.value=0) break; printf(%d,%d,%d ,stux.i,stux.j,stux.value); printf(n);void zhuanzhi() int x=0;/赋初值为0 int t=0; int num10=0,0,0,0,0,0,0,0,0,0;/每一列非0的数目 for(x=0;x=99;x+) stu1x.value=0; for(int j=0;jn;j+) for(int i=0;im;i+) if(aij!=0) numj

5、+; t+; int cpot10=0,0,0,0,0,0,0,0,0,0; cpot0=0; for(j=1;jn;j+) cpotj=cpotj-1+numj-1; int col=0; int q=0; for(int k=0;kt;k+) col=stuk.j; q=cpotcol; stu1q.i=stuk.j; stu1q.j=stuk.i; stu1q.value=stuk.value; +cpotcol; void display1() int x=0; printf(转置以后的三元组为:n); for(x=0;x=99;x+) if(stu1x.value=0) break;

6、 printf(%d,%d,%d ,stu1x.i,stu1x.j,stu1x.value); printf(n);void display2() int d,b; for(d=0;dm;d+) for(b=0;bm;b+) printf(%d ,adb); printf(n); void main() display2(); if(jiance()=1) yasuo(); display(); zhuanzhi(); display1(); 图1:压缩转置程序运行结果矩阵的乘法程序:#include#define m1 3#define n1 4#define m2 4#define n2

7、2int a1m1n1= 3,0,0,5, 0,-1,0,0, 2,0,0,0, ;int a2m2n2= 0,2, 1,0, -2,4, 0,0, ;struct three1 int i,j; int value;struct three1 stu1100;struct three2 int i,j; int value;struct three2 stu2100;struct three3 int i,j; int value;struct three3 stu3100;int ar1posm1=0;int ar2posm2=0;int Qrposm1;int yasuo1() int

8、t=0; ar1pos0=0; for(int r=0;rm1;r+) for(int c=0;cn1;c+) if(a1rc!=0) stu1t.i=r; stu1t.j=c; stu1t.value=a1rc; t+; ar1posr+1=t; return t;int yasuo2() int t=0; ar2pos0=0; for(int r=0;rm2;r+) for(int c=0;cn2;c+) if(a2rc!=0) stu2t.i=r; stu2t.j=c; stu2t.value=a2rc; t+; ar2posr+1=t; return t;void chengfa(in

9、t x1,int x2) int a1m=0; int a2m=0; int tp,p,br,t,q,ccol; int qtu=0; for(a1m=0;a1mm1;a1m+) int ctempm1=0; if(a1m(m1-1) tp=ar1posa1m+1; elsetp=x1; for(p=ar1posa1m;ptp;+p) br=stu1p.j; if(br(m2-1) t=ar2posbr+1; elset=x2; for(q=ar2posbr;qt;+q) ccol=stu2q.j; ctempccol+=stu1p.value*stu2q.value; for(ccol=0;

10、ccoln2;+ccol) if(ctempccol!=0) stu3qtu.i=a1m; stu3qtu.j=ccol; stu3qtu.value=ctempccol; +qtu; void display() int x=0; printf(a1与a2乘积之后的三元组是:n); for(x=0;x=99;x+) if(stu3x.value=0) break; printf(%d,%d,%d ,stu3x.i,stu3x.j,stu3x.value); printf(n);void display1() int m,n; printf(a1矩阵为:n); for(m=0;mm1;m+) for(n=0;nn1;n+) printf(%d ,a1mn); printf(n); printf(a2矩阵为:n); for(m=0;mm2;m+) for(n=0;nn2;n+) printf(%d ,a2mn); printf(n); void main() int a; int x1,x2; display1(); x1=yasuo1(); x2=yasuo2(); chengfa(x1,x2); display();图2:矩阵的乘法程序程序运行结果Welcome ToDownload !欢迎您的下载,资料仅供参考!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1