数据结构 基于三元组表的存储结构实现稀疏矩阵的应用 课程设计 实验报告.docVIP

数据结构 基于三元组表的存储结构实现稀疏矩阵的应用 课程设计 实验报告.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 基于三元组表的存储结构实现稀疏矩阵的应用 课程设计 实验报告

数 据 结 构 课 程 设 计 设计题目:基于三元组表的存储结构实现稀疏矩阵的应用 课题名称 基于三元组表的存储结构实现稀疏矩阵的应用 院 系 年级专业 学 号 姓 名 成 绩 课题设计 目的与 设计意义 课题设计目的: 熟练的掌握三元组表的存储结构来实现稀疏矩阵的应用。 让同学们能够很好的将数据结构的思想转化为C语言程序并进行运行生成答案。 提高同学们的编程能力。 使同学们更注重编程的思想而不单单是编程。 同时也为了今后的学习打下基础。 课题设计意义: 由于常使用二维阵列表示,二维阵列的大小与使用的存储器空间成正比,如果有数据,则会造成存储器空间的浪费,为此,必须设计稀疏矩阵的阵列储存方式,利用较少的存储器空间储存完整的矩阵数据。由于稀疏矩阵中含有很多的0元素在计算机中存储会浪因此我们通常采用压缩存储的方法。其意义是让我们在学习完C、数据结构等课程基础上,掌握多维数组的逻辑结构和存储结构、掌握稀疏矩阵的压缩存储及转置,相加等基本操作,并用不同的方法输出结果,进 一步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础 目 录 一、课程设计的目的及意义 1 1.1 目的 1 1.2 意义 1 二、需求分析 1 2.1设计函数建立稀疏矩阵及初始化值和输出稀疏矩阵的值 1 2.2构造函数进行稀疏矩阵的转置并输出结果 1 2.3构造函数进行两稀疏矩阵相加、减及转置并输出结果 2 2.4退出系统 2 2.5 开发环境 2 三、概要设计 2 3.1 主界面的设计 2 3.2存储结构的设计 2 3.3 模块图 3 3.4 流程图 4 四、详细设计 4 4.1 设计思路及方案 4 4.2 主调函数 4 4.3 建立矩阵 5 4.4 建立三元组表 5 4.5 矩阵相加 6 4.6 矩阵相减 6 4.7 矩阵转置 6 4.8 退出系统 7 五、系统的实现与调试以及运行结果 7 5.1 系统的实现 7 5.2系统的调试 7 5.3 系统的运行结果 8 六、心得体会与总结 11 6.1 心得体会 11 6.2 总结 11 附录 11 参考文献 19 一、课程设计的目的及意义 1.1 目的 (1)熟练的掌握三元组表的存储结构来实现稀疏矩阵的应用。 (2)让同学们能够很好的将数据结构的思想转化为C语言程序并进行运行生成答案。 (3)提高同学们的编程能力。 (4)使同学们更注重编程的思想而不单单是编程。 (5)同时也为了今后的学习打下基础。 1.2 意义 由于常使用二维阵列表示,二维阵列的大小与使用的存储器空间成正比,如果有数据,则会造成存储器空间的浪费,为此,必须设计稀疏矩阵的阵列储存方式,利用较少的存储器空间储存完整的矩阵数据。由于稀疏矩阵中含有很多的0元素在计算机中存储会浪因此我们通常采用压缩存储的方法。其意义是让我们在学习完C、数据结构等课程基础上,掌握多维数组的逻辑结构和存储结构、掌握稀疏矩阵的压缩存储及转置,相加等基本操作,并用不同的方法输出结果,进 一步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础设计函数建立稀疏矩阵及初始化值和输出稀疏矩阵的本模块要求设计函数建立稀疏矩阵并初始化, 包括在三元组结构下和十字链 表结构下。在创建稀疏矩阵时需要设计两个不同的函数分别在三元组和十字链 表下创建稀疏矩阵,在输入出现错误时,能够对错误进行判别处理,初始化稀疏 矩阵都为空值。在设计输出稀疏矩阵的值的函数时,也要针对两种不同的情况, 分别编制函数,才能准确的输出稀疏矩阵。在对稀疏矩阵进行初始化时,只输入非零元素的值和它所在的所在行及所在列。在对稀疏矩阵输出时,以矩阵的完整 形式输出。构造函数进行稀疏矩阵的转置并输出本模块要求设计函数进行稀疏矩阵的转置并输出转置后的结果。 在编写函数时要先定义一个相应的结构体变量用于存放转置后的矩阵,最后把此矩阵输出。构造函数进行两稀疏矩阵相加、减及并输出本模块要求设计相加、减和相乘函数对两个矩阵进行运算,并输出最终的稀 疏矩阵,定义相应的矩阵类型用于存放两个矩阵操作后的结果矩阵,这个结果矩 阵的行、列数需要综合多方面情况来确定。这些函数也是整个程序的难点,需要 灵活运用数组及指针的特点。退出系统本模块要求设置选项能随时结束程序的运行, 本程序中采用 while 循环。 程序在计算机上显示“提示信息”之后,由用户在键盘上输入演示程序中需要的 相关信息及命令。Microsoft visual C++ 6.0 三、概要设计 3.1 主界面的设计 图1 主界面设计 3.2存储

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档