网站大量收购闲置独家精品文档,联系QQ:2885784924

稀疏矩阵的相关操作..doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
稀疏矩阵的相关操作.

数据结构课程设计 设计说明书 稀疏矩阵相关操作的实现 学生姓名 钟振凯 学号 1221024001 班级 信管1201 成绩 指导教师 余冬梅 数学与计算机科学学院 2014年 3月 7日 课程设计任务书 2013—2014学年第2 学期 评语: 指导教师签名: 年 月 日 摘 要 以VC++作为软件开发环境,十字链表作为存储结构,设计与实现了稀疏矩阵运算。该软件实现了对任意矩阵进行输入,对矩阵进行输入,输出,对稀疏矩阵压缩存储,对矩阵进行转置的操作。采用十字链表方法对稀疏矩阵进行压缩存储,相对于三元表插入更加方便,界面清晰,易于为用户所接受。 关键字:十字链表;稀疏矩阵;数据结构 目 录 1 课题描述.................................................................6 2 任务分析.................................................................7 2.1 问题分析.................................................................7 2.2 代码实例.................................................................7 3 逻辑设计.................................................................8 3.1 算法设计.................................................................8 3.2 主函数流程图............................................................12 4 代码示例.................................................................13 5 程序调试.................................................................24 6 总结.....................................................................30 7 参考文献.................................................................31 1课题描述 在现实生活中当人们运用矩阵对数据进行存储的时候,往往数据中包含一些不用但占用内存空间的零元素,即所说的稀疏矩阵,稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。在对稀疏矩阵进行存储的时候,如果采用数组将所有数据进行存储的时候,往往占用较大的内存空间,所以可以设计一种只将有用数据进行存储,即十字链表或者三元组。 2 任务分析 2.1问题分析 当采用十字链表对数据进行存储的时候,需要在节点中将非零元素的行标,列表,元素值,分别用i,j,e分别表示,然后用向下的指针down 和向右的指针 right 来指向下边和右边的元素。其物理表示可以用图2.1和图2.2表示。 图2.1十字链表节点 (a)稀疏矩阵 (b)存储表示 图2.2十字链表存储稀疏链表实例 2.2代码实例 对稀疏矩阵采用图2.2结构进行存储时可以将节点中的内容定义为一个结构体,并将节点再作为一个元素,和dowm ,right 指针再组成一个结构体,具体代码示例如下: typedef struct OLNode //十字链表中的节点类型 { int i,j; ElemType e; struct OLNode *right,*down; }OLink; typedef struct //十字链表类型 { OLink **rhead,**chead; //rhead与

文档评论(0)

jiulama + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档