- 1、本文档共144页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章其他线性表要点
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 转置操作 // 转置,将*this的转置矩阵送入B bool SparseMatrix::TransposeTo(SparseMatrix B) { if(terms B.maxterms) return false; B.rows = cols; B.cols = rows; B.terms = terms; if (terms 0) { int p = 0; for (int j = 1; j = cols; j++) // 依次对每一列 for (int k = 0; k terms; k++) // 到data[]中找出该列的元素放到B.data[]中 if (data[k].col == j) { B.data[p].row = j; B.data[p].col = data[k].row; B.data[p].val = data[k].val; p++; } } return true; } 时间复杂度:O(cols×terms) 适用于terms<<rows×cols的情况。 转置操作 快速转置。 按A.data中三元组的次序进行转置,并将转置后的三元组放入B中恰当的位置。 引入两个辅助向量: 1num[col-1]表示矩阵A中第col列中非零元的个数; 2cpot[col-1]表示矩阵A中第col列的第一非零元在B.data中的位置。 一个n阶方阵An×n为对称矩阵应满足性质: aij == aji (1≤i, j≤n) 转置操作 一个n阶方阵An×n为对称矩阵应满足性质: aij == aji (1≤i, j≤n) cpot[0]=0 cpot[col]=cpot[col-1]+num[col-1] 1≤col≤ cols-1 M= col 0 1 2 3 4 5 6 num[col] 2 2 0 1 2 0 1 cpot[col] 0 2 4 4 5 7 7 用下式来求数组cpot[] 例如: 详细算法请见课本P95。 十字链表存储表示 一个n阶方阵An×n为对称矩阵应满足性质: aij == aji (1≤i, j≤n) 定义: 当非零元素的位置或个数经常发生变化时,三元组表就不适合作稀疏矩阵的存储结构了,用链表作存储结构更为恰当。 行指针域(rptr) 和列指针域(cptr),前者用来指向本行中下一个非零元素;而后者用来指向本列中下一个非零元素。 结点结构: 示例:矩阵B的十字链表表示 一个n阶方阵An×n为对称矩阵应满足性质: aij == aji (1≤i, j≤n) 3.5 广义表 广义表是对线性表的进一步推广,允许每个数据元素不同构,这点跟前面的线性结构均不同。 广义表的基本概念和基本操作 广义表的存储结构 3.5.1 广义表的基本概念和基本操作 广义表(又称列表,简称为表)是n (n≥0)个数据元素的有限序列。通常记作:? GL= (e1, e2, …, en)。 其中 GL是广义表的名字,n为表的长度; ei (1≤ i ≤n)可以为原子项,也可以为广义表,分别称为广义表GL的原子(atom)和子表。 对任一非空广义表有: 表头head: e1 表尾tail :( e2, …,en) 表的深度:指该广义表展开后所含括号的层数。 广义表示例 广义表 长度 表头 表尾 深度 A = ( ) 0 空 空 1 B = (a, b) 2 a (b) 1 C = ((s, t ), u, (v)) 3 (s, t) (u, (v)) 2 D = (A, (B), y, C) 4 ( ) (((a, b))
您可能关注的文档
- 7、3重力2.ppt
- 7《蛇与庄稼》课件.ppt
- 第三章之出境货物报关单.ppt
- 7《祖父的园子》PPT课件-2.ppt
- 7上语文导学案(部编本).doc
- 7.苏教版四年级下册《人类的老师》.ppt
- 第三章·第二节中国传统文化的基本特征.ppt
- 72-4 酸碱平衡紊乱20160322.ppt
- 7含容电路专题97.pptx
- 第三章企业法:个人独资企业与合伙企业.ppt
- 中国水稻研究所水稻种质资源中期库建设项目报告表.pdf
- 全自动X射线轮胎检测系统建设项目报告表.pdf
- 桐庐县前溪流域治理工程报告表.pdf
- 年产34万吨瓶装纯净水高速生产线升级项目报告表.pdf
- G2531杭州至上饶高速公路(杭淳开高速公路)杭州中环至浙赣界(杭州段)报告书.pdf
- 2025年云南省中考历史真题含答案.docx
- 广东省大湾区2024-2025学年高一下学期7月期末考试政治试题含答案.pdf
- 陕西省汉中市2024-2025学年高二下学期期末质量检测含答案(9科试卷).pdf
- 福建省南平市2024-2025学年第二学期高二下期末质量检测试卷含答案(9科试卷).pdf
- 河北省石家庄2024-2025学年高二下学期期末教学质量检测含答案(9科试卷).pdf
文档评论(0)