稀疏矩阵的转置论文,数据结构课程设计论文

稀疏矩阵的转置论文,数据结构课程设计论文

ID:39622040

大小:81.00 KB

页数:9页

时间:2019-07-07

稀疏矩阵的转置论文,数据结构课程设计论文_第1页
稀疏矩阵的转置论文,数据结构课程设计论文_第2页
稀疏矩阵的转置论文,数据结构课程设计论文_第3页
稀疏矩阵的转置论文,数据结构课程设计论文_第4页
稀疏矩阵的转置论文,数据结构课程设计论文_第5页
资源描述:

《稀疏矩阵的转置论文,数据结构课程设计论文》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、广州大学《数据结构》课程设计数据结构课程设计题目稀疏矩阵的转置专业网络工程班级姓名指导教师2013年6月27日12广州大学《数据结构》课程设计课程设计任务书广州大学《数据结构》课程设计学生姓名:专业班级:指导教师:工作单位:题目:稀疏矩阵的转置初始条件:(1)稀疏矩阵采用三元组表示,输入一个稀疏矩阵A。(2)求出A的转置矩阵D,输出D。测试数据:要求完成的主要任务:课程设计报告按学校规定格式用A4纸打印,并应包含如下内容:1.问题描述简述题目要解决的问题是什么。2.设计存储结构设计、主要算法设计(用C语

2、言或用框图描述)、测试用例设计。3.调试报告调试过程中遇到的问题是如何解决的;对设计和编码的讨论和分析。4.程序运行结果(包括对算法改进的设想)5.经验与体会6.参考文献说明:1.设计报告、程序不得相互抄袭和拷贝;若有雷同,则所有雷同者成绩均为0分。时间安排:1、第17周完成。2、2011年6月28号提交打印版课程设计,源程序刻录光盘。指导教师签名:年月日广州大学《数据结构》课程设计目录1.问题分析与任务定义12.结构设计13.算法思想14.模块划分25.算法实现25.1对矩阵进行定义25.2创建稀疏矩

3、阵25.3求矩阵的快速转置36.系统运行结果57.经验与体会58.参考文献5广州大学松田学院《数据结构》课程设计稀疏矩阵的转置1.问题分析与任务定义稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵,实现稀疏矩阵的转置。求出稀疏矩阵A的转置矩阵D,输出D。1.1稀疏矩阵采用三元组表示,输入一个稀疏矩阵A。1.2求出A的转置矩阵D,输出D。测试数据:2.结构设计2.1

4、.以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵。2.2.稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵则通常以阵列形式列出。2.3.首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求作的运算是否相匹配。可设矩阵的行数和列数均不超过20。2.4.程序可以对三元组的输入顺序加以限制,例如,按行优先。研究教材的算法,以便提高计算效率。2.5.在用三元组表示稀疏矩阵时,相加或相减所得结果矩阵应该另生成,乘积矩阵也可用二维数组存放3.算法思想3.1.主函数设置循环和选择语句进行运算循环和

5、选择,进行稀疏矩阵的转置和是否继续运算2个分支开关进行选择。3.2.设置函数分别实现稀疏矩阵的输入,输出。6广州大学松田学院《数据结构》课程设计3.3.在数组结构体中设置存放每行第一个非零元在其数组存储结构单元的位置的存储单元,若该行无非零元,则存为04.模块划分4.1typedefstruct存放各行第一个非零元在存储数组中的位置,若该行无非零元,则其rpos[]值为零4.2createsmatrix(rlsmatrix*M)矩阵输入函数,输入各行非零元及其在矩阵中的行列数4.3Fasttranspo

6、seRLSMatrix(RLSMatrixM,RLSMatrix*Q)矩阵快速转置5.算法实现5.1对矩阵进行定义首先定义非零元个数的最大值和存放各行第一个非零元在存储数组中的位置#include#defineMAXSIZE100/*非零元个数的最大值*/typedefstructtriple{inti,j;/*行下标,列下标*/inte;/*非零元素值*/}triple;typedefstructtsmatrix{tripledata[MAXSIZE+1];/*非零元三元组表,dat

7、a[0]未用*/intmu,nu,tu;/*矩阵的行数、列数和非零元个数*//*各列第一个非零元的位置表rpos[0]未用*/}rlsmatrix;5.2创建稀疏矩阵6广州大学松田学院《数据结构》课程设计创建稀疏矩阵矩阵的行数,列数,和非零元素的个数并按行序顺序输入第%d个非零元素所在的行(1~%d),列(1~%d),元素值。createsmatrix(rlsmatrix*M){/*创建稀疏矩阵M*/inte,i,m,n;M->data[0].i=0;/*为以下比较顺序做准备*/printf("请输入矩

8、阵的行数,列数,和非零元素的个数:");scanf("%d",&M->mu);scanf("%d",&M->nu);scanf("%d",&M->tu);for(i=1;i<=M->tu;i++){printf("请按行序顺序输入第%d个非零元素所在的行(1~%d),列(1~%d),元素值:",i,M->mu,M->nu);scanf("%d",&m);scanf("%d",&n);scanf("%d",&e);if(m<1

9、

10、m>M->m

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

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

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