2019秋《数据结构课程设计》——课程设计报告模板.doc
《2019秋《数据结构课程设计》——课程设计报告模板.doc》由会员分享,可在线阅读,更多相关《2019秋《数据结构课程设计》——课程设计报告模板.doc(9页珍藏版)》请在文库网上搜索。
1、1 中国石油大学(北京) 远程教育学院 数据结构课程设计报 告 课程设计题目课程设计题目 学生姓名学生姓名 学号学号 专业班级专业班级 2019 年 月 2 题目要求:设计一个稀疏矩阵计算器,实现两个稀疏矩阵的加法、减法、乘法以及矩 阵的转置运算。采用菜单为应用程序的界面,用户通过对菜单进行选择,分别实现矩阵的 相加、相减、相乘以及矩阵转速运算。 1 需求分析需求分析 1. 稀疏矩阵是指稀疏因子小于等于 0.5 的矩阵。利用“稀疏”特点进行存储和计算可 以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。 2. 以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵,实现矩阵转
2、置,以及两个 矩阵的加、减、乘的运算。稀疏矩阵的输入形式采用三元组表示,运算结果以阵列形式列 出。 3. 演示程序以用户和计算机的对话方式进行,数组的建立方式为边输入边建立。首先 输入矩阵的行数和列数,并判别给出的两个矩阵的行列数是否与所要求的运算相匹配。 4. 程序可以对三元组的输入属性不加以限制;根据对矩阵的行列,三元组作之间插入 排序,从而进行运算时,不会产生错误。 5. 在用三元组表示稀疏矩阵时,相加、相减和相乘所产生的结果矩阵另外生成。 6. 运行环境:VC6.0+。 2 概要设计概要设计 稀疏矩阵元素用三元组表示: typedef struct int i;/非零元的行下标 int
3、 j;/非零元的列下标 int e;/矩阵非零元 Triple; 稀疏矩阵采用三元组顺序表存储: #define MSXSIZE 12500/假设非零元个数的最大值为 200 #define MAXRC 10 /假定矩阵的最大行数为 10 typedef struct int mu ; /矩阵的行数 int nu ; /矩阵的列数 int tu ; /矩阵的非零元素个数 Triple dataMAXSIZE+1; /非零元三元组表,data0没有用 int rposMAXRC+1; /各行第一个非零元素的位置表 Tabletype; 系统主要函数及功能如下: Menu( ):主控菜单,接收用户
4、的选项; Input_Matrix( ):输入矩阵; Print_matrix( ):输出矩阵; Cal_matrix( ):计算矩阵每行第一个非零元在三元组中的位序号; TransposeMatrix( ):矩阵转置; 3 Add_Matrix( ):矩阵加法运算; Sub_Matrix( ):矩阵减法运算; Multi_Matrix( ):矩阵乘法运算。 模块的调用关系如图 1 所示。 Multi_Matrix main Add_MatrixSub_MatrixTransposeMatrix Cal_Matrix Input_MatrixPrint_Matrix 图 1 程序调用模块示意图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构课程设计 2019 数据结构 课程设计 报告 模板