数据结构 课程设计.pdf

数据结构 课程设计.pdf

ID:56752872

大小:284.50 KB

页数:14页

时间:2020-07-07

数据结构 课程设计.pdf_第1页
数据结构 课程设计.pdf_第2页
数据结构 课程设计.pdf_第3页
数据结构 课程设计.pdf_第4页
数据结构 课程设计.pdf_第5页
资源描述:

《数据结构 课程设计.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、设计性综合性实验实验课题名称:稀疏矩阵运算器院系:计算机科学与技术学院专业:计算机科学与技术课程:数据结构教师:学号:姓名:学号:姓名:学号:姓名:学号:姓名:学号:姓名:2010至2011学年度上学期实验名称:稀疏矩阵运算器实验性质:设计性实验器材:PC机并装有VC++6.0环境实验目的:深入研究数组的存储表示和实现技术,熟悉广义表存储结构的特性实验任务:实现一个能进行稀疏矩阵基本运算的运算器,要求以带“行逻辑链接信息”的三元组顺序表存储稀疏矩阵,实现两矩阵的相加、相减、相乘等运算。输入以三元组表示,输出以通

2、常的阵列形式列出。实验内容、过程及结果:1.问题描述稀疏矩阵是指那些多数元素为零的矩阵。利用稀疏特点进行储存和计算可以大大节省储存空间,提高计算效率。实现能进行称稀疏矩阵基本运算的运算器。基本要求:以带逻辑链接信息的三元组顺序表表示稀疏矩阵,实现矩阵相加,相减,相乘的运算。稀疏矩阵的输入形式采用三元组表示。而运算结果的矩阵则用通常的阵列形式列出。测试数据:+=+=*=2.设计思路A.行逻辑链接的顺序表为了便于随机存取任意一行的非零元,则需知道每一行的第一个非零元在三元组表中的位置。为此,可将指示“行”信息的辅助

3、数组cpot固定在稀疏矩阵的存储结构中B.数据结构的选用为了实现稀疏矩阵的各种运算,采用三元组的方式储存矩阵C.矩阵的各种运算为了求2和矩阵的各类运算,只需要在相乘2个矩阵中相对应的各个元素的j值和i值相运算即可3.解决问题【主程序模块】:voidmain(){初始化;do{接受命令;处理命令;}while(命令!=“退出”);}【功能模块调用关系图】【详细设计】typedefstruct{introw;//行数intcol;//列数intv;//非零元素值}triplenode;typedefstruct{t

4、riplenodedata[maxsize+1];//非零元三元组introwtab[maxrow+1];//各行第一个非零元的位置表intmu,nu,tu;//矩阵的行数、列数和非零元个数}rtripletable;voidcreat(rtripletable&A)//创建稀疏矩阵voidprint(rtripletableA)//输出稀疏矩阵intaddsmatrix(rtripletableM,rtripletableN)//矩阵相加intsubsmatrix(rtripletableM,rtriplet

5、ableN)//稀疏矩阵相减voidmultsmatrix(rtripletableM,rtripletableN,rtripletable&Q)//稀疏矩阵相乘四.实现1.功能函数设计ADTArray{数据对象:D={aij

6、0≤i≤b1-1,0≤j≤b2-1}数据关系:R={ROW,COL}ROW={

7、0≤i≤b1-2,0≤j≤b2-1}COL={

8、0≤i≤b1-1,0≤j≤b2-2}基本操作:CreateSMatrix(&M);//操作结果:创建稀疏矩阵

9、M.PrintSMatrix(M);//初始化条件:稀疏矩阵M存在.//操作结果:输出稀疏矩阵M.AddSMatrix(M,N,&Q);//初始化条件:稀疏矩阵M与N的行数和列数对应相等.//操作结果:求稀疏矩阵的和Q=M+N.SubSMatrix(M,N,&Q);//初始化条件:稀疏矩阵M与N的行数和列数对应相等.//操作结果:求稀疏矩阵的差Q=M-N.MultSMatrix(M,N,&Q);//初始化条件:稀疏矩阵M的列数等于N的行数.//操作结果:求稀疏矩阵的乘积Q=M*N.}ADTArray【源程序】#

10、include#include#include#definemaxsize100#definemaxrow100#defineOK1#defineERROR-1typedefstruct{introw;//行数intcol;//列数intv;//非零元素值}triplenode;typedefstruct{triplenodedata[maxsize+1];//非零元三元组introwtab[maxrow+1];//各行第一个非零元的位置表intmu

11、,nu,tu;//矩阵的行数、列数和非零元个数}rtripletable;voidcreat(rtripletable&A)//创建稀疏矩阵{intk=1,sum=1,loop,p,t;intnum[maxrow+1];cout<<"请输入矩阵的行数和列数:"<>A.mu;cout<<"列数:";cin>>A.nu;cout<<"非零元素个数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。