您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 稀疏矩阵的操作--课程设计
攀枝花学院学生课程设计(论文)题目:稀疏矩阵的操作学生姓名:学号:所在院(系):数学与计算机学院专业:计算机科学与技术班级:1班指导教师:职称:讲师2016年6月24日攀枝花学院教务处制攀枝花学院本科课程设计(论文)课程设计计划书攀枝花学院本科学生课程设计任务书题目稀疏矩阵的操作1、课程设计的目的培养学生用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;培养学生以科学理论和工程上能力的技术,规范地开发大型、复杂、高质量的应用软件和系统软件具有关键性作用;通过课程设计的实践,学生可以在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统和严格的训练。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)基本功能要求:(1)稀疏矩阵采用三元组表示,求两个具有相同行列数的稀疏矩阵A和B的相加矩阵C,并输出C。(2)求出A的转置矩阵D,输出D。(3)求两个矩阵A和B的乘积。测试数据:0908070000045010A0000010906007002B3、主要参考文献[1]《数据结构》(C语言版),严蔚敏,清华大学出版社,2003.[2]《数据结构题集》,严蔚敏,清华大学出版社,2005.[3]《数据结构》(C语言版),刘大有,高等教育出版社,2004.[4]《DataStructurewithC++》,WilliamFord.WilliamTopp,清华大学出版社,2003.4、课程设计工作进度计划第1天完成方案设计与程序框图第2、3天编写程序代码第4天程序调试分析和结果第5天课程设计报告和总结指导教师(签字)日期年月日教研室意见:年月日学生(签字):接受任务时间:年月日注:任务书由指导教师填写。攀枝花学院本科课程设计(论文)成绩评定表课程设计(论文)指导教师成绩评定表题目名称稀疏矩阵的操作评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名:年月日攀枝花学院本科课程设计(论文)摘要I摘要本课程设计主要实现在三元组存储结构与十字链表存储结构下输入稀疏矩阵,并对稀疏矩阵进行转置,相加,相乘操作,最后输出运算后的结果。在程序设计中,考虑到方法的难易程度,采用了先用三元组实现稀疏矩阵的输入,输出,及其转置,相加,相乘操作的方法,再在十字链表下实现。程序通过调试运行,结果与预期一样,初步实现了设计目标。关键词程序设计,稀疏矩阵,三元组,十字链表攀枝花学院本科课程设计(论文)目录1目录摘要.........................................................................................................................II1课程设计题目与要求................................................................................................11.1课程设计的目的.....................................................................................................11.2题目要求................................................................................................................12总体设计...................................................................................................................22.1模块示意图............................................................................................................22.2设计思路................................................................................................................22.3数据结构设计.........................................................................................................22.4软件结构设计.........................................................................................................33详细设计..........................................................................................................................................53.1稀疏矩阵的定义.....................................................................................................53.2主程序模块............................................................................................................63.3稀疏矩阵模块.........................................................................................................73.4十字链表模块.......................................................................................................153.4.1创建十字链表................................................................................................153.4.2十字链表的输出............................................................................................164程序测试及运行......................................................................................................185总结.......................................................................................................................21参考文献...............................................................................................................22攀枝花学院本科课程设计(论文)课程设计题目与要求11课程设计题目与要求1.1课程设计的目的1.掌握多维数组的逻辑结构和存储结构。2.掌握稀疏矩阵的压缩存储及基本操作。1.2题目要求(1)稀疏矩阵采用三元组表示,求两个具有相同行列数的稀疏矩阵A和B的相加矩阵C,并输出C。(2)求出A的转置矩阵D,输出D(用两种方法实现,原始算法和改进的算法)。(3)求两个稀疏矩阵A和B的相乘矩阵E,并输出E。攀枝花学院本科课程设计(论文)总体设计22总体设计2.1模块示意图本程序分为主程序模块、稀疏矩阵模块、十字链表模块等。系统功能模块图如图2.1所示。020406080100第一季度第三季度东部西部北部图2.1主程序模块主要进行命令操作,接收命令,处理命令,退出操作等。稀疏矩阵模块实现矩阵的相加,矩阵的相乘和矩阵的转置。十字链表模块主要是创建十字链表和输出十字链表2.2设计思路本实验要求是使用C语言设计三元组,十字链表实现稀疏矩阵的加、转、乘。首先要进行矩阵的初始化操作,定义三元组和十字链表的元素对象。写出转置,加法,乘法的操作函数。通过主函数调用实现在一个程序下进行矩阵的运算操作。2.3数据结构设计抽象数据类型稀疏矩阵的定义如下:ADTSparseMatrix{数据对象:D={aij|i=1,2,…,m;j=1,2,..,n;稀疏矩阵的操作主程序模块稀疏矩阵模块十字链表模块攀枝花学院本科课程设计(论文)总体设计3aij∈Elemset,m和n分别称为矩阵的行数和列数。}数据关系:R={Row,Col}Row={ai,j,ai,j+1|1=i=m,1=j=n-1}Col={ai,j,ai+1,j|1=i=m-1,1=j=n}基本操作:CreateSMatrix(&M);操作结果:创建稀疏矩阵M。DestroySMatrix(&M);初始条件:稀疏矩阵M存在。操作结果:销毁稀疏矩阵M。PrintSMatrix(M);初始条件:稀疏矩阵M存在。操作结果:输出稀疏矩阵M。AddSMatrix(M,N,&Q);初始条件:稀疏矩阵M与N的行数和列数对应相等操作结果:求稀疏矩阵的和Q=M+N。MultSMatrix(M,N,&Q);初始条件:稀疏矩阵M的列数等于N的行数。操作结果:求稀疏矩阵乘积Q=M*N。TransposeSMatrix(M,&T);初始条件:稀疏矩阵M存在。操作结果:求稀疏矩阵M的转置矩阵T。}ADTSparseMatrix2.4软件结构设计(1)主程序模块:Voidmain(){初始化;do{接受命令;处理命令;}while(“命令”=“退出”);}(2)稀疏矩阵模块{实现矩阵的相加boolAddSMatrix();攀枝花学院本科课程设计(论文)总体设计4实现矩阵的相乘boolMul
本文标题:稀疏矩阵的操作--课程设计
链接地址:https://www.777doc.com/doc-2150844 .html