- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计--稀疏矩阵实现与应用
第 PAGE 1 页
课程设计报告
课程名称 《数据结构》
课题名称 稀疏矩阵实现与应用
专 业 计算机科学与技术
班 级
学 号
姓 名
联系方式
指导教师
20 11 年 12
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc 1、数据结构课程设计任务书 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 1.1、题目 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 1.2、要求 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 2、总体设计 PAGEREF _Toc \h 1
HYPERLINK \l _Toc 2.1、功能模块设计1
HYPERLINK \l _Toc 2.2、所有功能模块的流程图2
HYPERLINK \l _Toc 3、详细设计3
HYPERLINK \l _Toc 3.1、程序中所采用的数据结构及存储结构的说明10
HYPERLINK \l _Toc 3.2、算法的设计思想10
HYPERLINK \l _Toc 3.3、稀疏矩阵各种运算的性质变换10
HYPERLINK \l _Toc 4、调试与测试:10
HYPERLINK \l _Toc 4.1、调试方法与步骤: 10
HYPERLINK \l _Toc 4.2、测试结果的分析与讨论:11
HYPERLINK \l _Toc 5、时间复杂度的分析:12
HYPERLINK \l _Toc 6、源程序清单和执行结果12
HYPERLINK \l _Toc 7、C程序设计总结20
HYPERLINK \l _Toc 8、致谢20
HYPERLINK \l _Toc 9、参考文献20
PAGE
第 PAGE 4 页
第 PAGE 1 页
1、数据结构课程设计任务书
1.1、题目
实现三元组,十字链表下的稀疏矩阵的加、转、乘的实现。
1.2、要求
(1).设计函数建立稀疏矩阵,初始化值;
(2).设计函数输出稀疏矩阵的值;
(3).构造函数进行两个稀疏矩阵相加,输出最终的稀疏矩阵;
(4).构造函数进行两个稀疏矩阵相减,输出最终的稀疏矩阵;
(5).构造函数进行稀疏矩阵的转置,并输出结果;
(6).退出系统。
2、总体设计
2.1、功能模块设计
输入矩阵1矩阵相加
输入矩阵1
矩阵相加
输入矩阵2
计算结果
矩阵相减
输入矩阵1
输入矩阵2
计算结果
矩阵转置
输入矩阵
计算结果
退出
2.2、所有功能模块的流程图
3、详细设计
1. 定义程序中所有用到的数据及其数据结构,及其基本操作的实现;
typedef struct {
int i, j;
int e;
} Triple; // 定义三元组的元素
typedef struct {
Triple data[MAXSIZE + 1];
int mu, nu, tu;
} TSMatrix; // 定义普通三元组对象
typedef struct {
Triple data[MAXSIZE + 2];
int rpos[MAXROW + 1];
int mu, nu, tu;
} RLSMatrix; // 定义带链接信息的三元组对象
typedef struct OLNode { // 定义十字链表元素
int i, j;
int e;
struct OLNode *right, *down; // 该非零元所在行表和列表的后继元素
} OLNode, *OLink; // 定义十字链表元素
typedef struct { // 定义十字链表对象结构体
OLink *rhead, *chead;
int mu, nu, tu; // 系数矩阵的行数,列数,和非零元素个数
} CrossList; // 定义十字链表对象结构体
2.主函数
int main()
{
int t;
cout.fill(*);
cout setw(80) *;
cout.fill( );
cout setw(50) ***欢迎使用矩阵运算程序*** endl; //输出头菜单
cout.fill(*);
cout setw(80) *;
cout.fill(
您可能关注的文档
- 山东省某社区太阳能光伏发电项目立项申请报告可编辑.doc
- 山东省枣庄市三中2014届高三10月学情调查 数学理试题 Word版含解析.doc
- 山东省章丘市绣惠镇中心中学2010---2011学年度下学期八年级下第一次月考试题含答案.doc
- 山东省胜利油田一中2012届高三下学期第一次调研考试数学文试题.doc
- 山东省高等中专学校毕业生就业协议书.doc
- 山西XX煤矿有限公司机电设备管理制度汇编全套.doc
- 山西晋城民居中的砖石雕刻艺术研究可编辑.doc
- 山西某高层住宅小区施工组织设计云冈杯 节能工程.doc
- 山西煤炭运销集团大通煤业有限公司矿井兼并重组整合项目职业病防护设施设计专.doc
- 山西省寻乌一中2011--2012学年高二下学期第一次月考地理试题.doc
原创力文档


文档评论(0)