- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 数组和广义表
数组和广义表均是元素为复合结构的线性结构。
数组的定义以二维数组为例,
二维数组通常可以描述为两种形式 :
以行序为主序: PASCAL、C
可以看成 A = ( α ,α , . . .,α )T
0 1 m-1
其中 α 是一个行向量形式的线性表,0≤i≤m-1
i
α = ( a ,a , . . . ,a )
i 0 i 1 i n-1
以列序为主序: FORTRAN
可以看成 A = ( α ,α ,……,α )
0 1 n-1
其中 α 是一个列向量形式的线性表,0≤j≤n-1
j
α = ( a ,a ,……,a )T
0 j 1 j m-1j
数组的表示和实现
数组一旦被定义,其维数和维界就不再改变,故通常采用 顺序存储结构。如何将多维数组结构转换对应一组连续的存储单元?
以列序为主序
以行序为主序
对于数组,一旦规定了维数和维界,如何计算数组元素的存储位置? 设数组以行序为主序。
二维数组 A[m][n]
数组元素 aij 的存储位置为
LOC(i,j) =LOC(0,0) + ( n×i + j ) L
LOC(0,0)是 a 的存储位置;
00
L 是每个数组元素占用的存储单元数;
例 ,LOC(1,1) =LOC(0,0) + ( n×1 + 1 ) L
三维数组 A ( b1,b2,b3 )
000LOC(0,0,0)是 a
000
的存储位置;
L 是每个数组元素占用的存储单元数;
LOC(1,1,1) = LOC(0,0,0) + ( b2×b3×1 + b3×1 + 1 ) L
数组元素 a
ijk
的存储位置为 :
nLOC(i,j,k) = LOC(0,0,0) + ( b2×b3×i + b3×j + k ) L
n
b1维数组A ( b ,
b
1
,… ,
b2
b
)的元素存储位置可计算为:
2nLOC(j1,j ,…… ,j )
2
n
= LOC(0,0,…… ,0) +
( b ×……×b ×j + b ×……×b ×j
+…… + b ×j
+ j ) L
2 n 1 3
n 2 n
n
矩阵的压缩存储
矩阵元素如何存储?
通常利用二维数组来存储矩阵元素。 B[m][n]
a i j b i-1,j-1
实际中,存在许多特殊矩阵,例如在矩阵中有许多值相同的元素或者零元素。
用定长数组存储造成浪费。
为了节省存储空间,需要对这类矩阵进行压缩存储。
压缩存储是指为多个值相同的元素只分配一个存储空间;对零元素不分配空间。
对称矩阵
三角矩阵
对角矩阵
稀疏矩阵
n 阶对称矩阵
n 阶矩阵 A 满足: ai j = aj i
通常表示为:
n2 个矩阵元素只需占用 n(n+1)/2 个存储空间
设计用一维数组 SA[n(n+1)/2] 存储 n 阶对称矩阵 A 。
ij关键问题: 如何建立数组元 SA[k] 和矩阵元 a 之间的一一对应关系。
ij
K 一定是 i ,j 的函数
a i + b j + c
= a i + j + c
= a n + 1 + c
=
a= , b=1 , c=-1
三角矩阵
所谓下(上)三角矩阵是指矩阵的上(下)三角(不包括对角线)中的元均为常数 c 的
n 阶矩阵。
下三角矩阵
和对称矩阵基本一样,只需除存储其下(上)三角中的元之外,再增加一个存储单 元存放 c 。
关键问题: 如何建立数组元 SA[k] 和矩阵元 aij 之间的一一对应关系。
对角矩阵
所有的非零元都集中在以主对角线为中心的带状区域中。
一般情况
三对角矩阵
关键问题:
如何建立数组元
SA[k] 和矩阵元
aij 之间的一一对应关系。
K 一定是 i ,j 的函数
a i + b j + c
= a i + j + c
= a (n-1) + (n-2) + c
= 3n-7
代入解得:a=2 , b=1 , c=-3 K = 2i + j - 3
(| i - j | ≤ 1)
作业: 五对角矩阵
稀疏矩阵
非零元很少的矩阵。
稀疏因子: 设 m×n 的矩阵,有 t 个非零元,令
通常认为 δ≤ 0.05 时称为稀疏矩阵。稀疏矩阵的压缩存储
三元组顺序表
行逻辑链接顺序表
十字链表三元组顺序表
ij三元组( i ,j ,a )表示非零元素
ij
i 行数,j 列数,a 非零元。
ij
广义表的定义
1广义表(列表) LS = ( a
1
aa), , ,
a
a
)
2 n
LS : 列表名称
n : 列表长度(元素的个数)
ia : 可以是单个数据,也可以是子列表,分别称为原子和子表。
i
1a : LS 的表头(第一个元素)。
1
( a2
, , ,
aa3 n
a
a
) : LS 的表尾(列表)。
您可能关注的文档
最近下载
- 蒂森MC2详细说明.pdf VIP
- 公交公司安全工作总结.docx VIP
- 打点计时器试卷习题精选附答案(出试卷可选用) .doc VIP
- (正式版)SH∕T 3006-2024 石油化工控制室设计规范.pdf VIP
- (完整版)打点计时器试卷习题附答案(出试卷可选用).docx VIP
- 国家开放大学——政治学原理——章七 自检自测—2022春季作业—2021秋季班.doc VIP
- 在线网课学习课堂《社会研究方法( 华科)》单元测试考核答案.docx VIP
- 蒂升电梯调试资料MC2B门机BG211-BG211C.pdf VIP
- 提高卧床患者踝泵运动的执行率.pptx VIP
- 蒂森MC2-B系统调试手册.pdf VIP
原创力文档


文档评论(0)