1、 课程设计报告课程设计报告 计算机科学与技术系计算机科学与技术系 课程名称: 数据结构 设计题目: 稀疏矩阵加法运算器 学生班级: 学生姓名: 指导教师: 完成日期: 2011-1-19 课程设计项目研究报告 目 录 第 1 章 项目简介 3 1.1 项目名称 . 3 1.2 开发人员 . 3 1.3 指导教师 . 3 第 2 章 项目研究意义 3 2.1 课程设计概述 . 3 2.2 需求分析及研究意义 . 3 2.3 研究意义 . 3 第 3 章 采用的技术 4 3.1 课程设计的方案设计论证 . 4 3.2 重要算法的设计、流程描述或伪代码描述 . 4 第 4 章 课程设计项目进度表 .
2、 6 第 5 章 课程设计任务分配表 . 6 第 6 章 达到的效果 . 7 61 程序设计思想 . 7 62 程序最终实现结果 . 8 第 7 章 源程序 . 8 71 源代码 . 8 第 8 章 设计心得 . 11 第 9 章 参考文献 11 计算机系课程设计报告 3 第 1 章 项目简介 1.1 项目名称 稀疏矩阵加法运算器 1.2 开发人员 1.3 指导教师 第 2 章 项目研究意义 2.1 课程设计概述 稀疏矩阵是指多数元素为 0 的矩阵, 利用系数特点进行存储和计算可以大大节省存储空间, 提高计算效 力。实现一个能进行稀疏加法的运算。 2.2 需求分析及研究意义 (1)首先输入矩阵
3、的行数和列数,并判别给出的两个矩阵的行数,列数对于所需求的运算是否匹配。 (2)程序存储用三元组存储表表示,按行优先表示。 (3)在三元组表示稀疏矩阵,矩阵的相加所得结果矩阵另生成。 2.3 研究意义 矩阵加法了解:矩阵加法了解:矩阵之间也可以相加。把两个矩阵对应位置的单个元素相加,得到的新矩阵就是矩阵加 法的结果。由其运算法则可知,只有行数和列数完全相同的矩阵才能进行加法运算。 矩阵之间相加没有顺序,假设 A、B 都是矩阵,则 A+B=B+A。通常认为矩阵没有减法,若要与一个矩阵 相减,在概念上是引入一个该矩阵的负矩阵,然后相加。A-B 是 A+(-B)的简写 3 计算机系课程设计报告 4
4、第 3 章 采用的技术 3.1 课程设计的方案设计论证 (1)输入存储矩阵的算法。 (2)存储稀疏矩阵用三元组表示。 (3)稀疏矩阵的加法算法编写。 (4)输出稀疏矩阵 3.2 重要算法的设计描述 矩阵的加法算法设计思路,描述 void add(TriTable *A,TriTable *B,TriTable *C) int i,j,k; if(A-m!=B-m|A-n!=B-n) printf(“these two arrey unable to add“); return; C-m=A-m;C-n=A-n; C-t=0; if(A-t=0 i=j=k=1; while(it i+;k+; else if(A-datai.rowB-dataj.row) C-datak=B-dataj; j+;k+; else if(A-datai.coldataj.col) C-datak=A-datai;