- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
矩阵;回顾;预习检查;本章目标;数组;二维数组中有(p-m+1)(q-n+1)个数据元素。数组中的元素分别受行列关系的约束,在行关系约束中,ai,j+1是aij的直接后继元素,ai,j-1是aij的直接前驱元素;在列关系中,ai+1,j是aij的直接后继元素,ai-1,j是aij的直接前驱元素。
;二维数组也可以看作是一个一维数组,只不过这个一维数组的元素,也是一维数组。
同样的,三维数组可以看作是元素为二维数组的一维数组,或者是元素为一维数组的二维数组。
………
N维数组可以看作是元素为m维数组的N-m维数组
(m0,N0,m,N∈N+)。
;对于数组,通常只有两种操作:
查询:将一组类型相同的元素放入一个数组,根据下标进行访问
修改:给定一个数组,根据其下标对相应位置的数据元素进行修改
;存储结构有两种:行序优先存储和列序优先存储
(1)所谓行序优先,就是按行号递增的顺序一行一行地存取数据
(2)列序优先就是按列号递增的顺序一列一列地存取数据
;特殊矩阵的元素分布有一定规律,常见的特殊矩阵分为对称矩阵、三角矩阵和对角矩阵。
;对称矩阵:
若n阶方阵中的元素满足:aij=aji,1≤i,j≤n。则称其为对称矩阵。
如果按照行序优先存储的存储方式,将n阶对称矩阵M下三角中的元素(ij)或者上三角中的元素(ij)存储到一维数组A[0]~A[n(n+1)/2]中(A[0]不存储数据),那么A[k]与矩阵元素aij之间存在着如下的一一对应关系:
;对角矩阵:
若n阶方阵的元素满足:方阵中所有的非零元素都集中在以主对角线为中心的带状区域中,则称之为n阶对角矩阵。
若方阵主对角线上下方各有b条次对角线,则称b为矩阵半带宽,(2b+1)为矩阵带宽。
;稀疏矩阵的定义:
矩阵的非零元素较零元少,且分布没有规律,通常称这样的矩阵为稀疏矩阵。
;稀疏矩阵的压缩存储与特殊矩阵的压缩存储不同:
第一,其数据元素分布没有规律,无法根据下标直接获得数组中某个位置对应的元素,所示无法实现随机存储。
第二,它只存储非零元素,因此,除了存储非零元素的数值(value)之外,还要存储元素在矩阵中的行列数据(row,col),所以我们需要可以唯一确定矩阵中??个非零元素的三元组(row,col,value)。
;稀疏矩阵的创建:
创建稀疏矩阵与线性表或者堆栈的思路都大同小异:
(1)定义一个struct来存储结点信息;
(2)创建头结点,初始化稀疏矩阵容量;
(3)将头结点地址返回。
;稀疏矩阵的创建:
上述代码创建的只是一个空矩阵,需要住其中插入非0元素。
为了判断插入元素的位置,根据行序优先的原则,首先将当前元素的行值M-data[p].row与三元组数组的row进行比较,找到合适的插入位置。
然后再对列值进行比较,找到合适的插入位置
不同的比较结果流向不同的分支。
;稀疏矩阵的转置:
;稀疏矩阵的转置:
方案1:根据矩阵M中的列序进行转置。每查找M中的一列,都要完整地扫描其三元组数组A。因为A中存储的数据行列是有序的,所以得到的B也是有序的。
;稀疏矩阵的转置:
方案2:此方案需要事先知道M中每一列非零元素的个数,进而求得每一列的第一个元素在数组B中的位置,然后按照数组A中数据元素的顺序进行转置,将数据放到B中合适的位置。
;稀疏矩阵的十字链表表示:
用十字链表存储矩阵,存储数据的结点结构如下所示:
现有一个矩阵:
;稀疏矩阵的十字链表表示:
用M的十字链表存储:
您可能关注的文档
- 数据结构——基于Python语言(微课版) 课件 T1_C语言基础.pptx
- 数据结构——基于Python语言(微课版) 课件T1_绪论(什么是数据结构).pptx
- 数据结构——基于Python语言(微课版) 课件T2_线性表(顺序表).pptx
- 数据结构——基于Python语言(微课版) 课件T3_线性表(单链表).pptx
- 数据结构——基于Python语言(微课版) 课件T4_线性表(双向链表和循环链表).pptx
- 数据结构——基于Python语言(微课版) 课件T5_线性表(应用与比较).pptx
- 数据结构——基于Python语言(微课版) 课件T7_栈与队列(队列).pptx
- 数据结构——基于Python语言(微课版) 课件T11_数组与广义表(广义表).pptx
- 数据结构——基于Python语言(微课版) 课件T12_基于线性表的查找算法.pptx
- 数据结构——基于Python语言(微课版) 课件T13_基于线性表的排序算法.pptx
- 数据结构——基于Python语言(微课版) 课件T16_树(遍历与应用).pptx
- 数据结构——基于Python语言(微课版) 课件T17_树(转换、构建与线索化).pptx
- 数据结构——基于Python语言(微课版) 课件T18_基于树的查找算法.pptx
- 数据结构——基于Python语言(微课版) 课件T19_基于树的排序算法.pptx
- 数据结构——基于Python语言(微课版) 课件T23_计算式查找法.pptx
- 数据结构——基于Python语言(微课版) 课件T22_图(应用).pptx
- 数据结构——基于Python语言(微课版) 课件T21_图(遍历).pptx
最近下载
- 畜牧兽医职业生涯规划书 .pdf VIP
- 2024-2025四川遂宁遂宁中学高一上期中化学试题【答案版】.docx VIP
- 15分钟课堂教学.pdf VIP
- 职业技术学院民族音乐与舞蹈专业人才培养方案.docx VIP
- Tolteq 脉冲器 操作手册.pdf VIP
- 人教版部编版小学五年级语文上册《忆读书》教学ppt课件.pptx VIP
- DB50T1310-2022丰都麻辣鸡加工技术规程.pdf VIP
- 2024-2025四川遂宁遂宁中学高一上期中数学试题【答案版】.pdf VIP
- 河北省政府采购评审专家培训验收考核题(6月21日)车上试题【含答案】2025.pdf VIP
- 华东理工大学电路原理与分析期末复习.ppt VIP
原创力文档


文档评论(0)