- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-数组与广义表-4学时
第5章 数组和广义表;5.1 数组的定义;5.1.1 数组的抽象数据类型定义 ; 由上述定义知,n维数组中有b1?b2 ? … ? bn个数据元素,每个数据元素都受到n维关系的约束。
2 直观的n维数组
以二维数组为例讨论。将二维数组看成是一个定长的线性表,其每个元素又是一个定长的线性表。
设二维数组A=(aij)m?n,则
A=(α1,α2,…,αp) (p=m或n)
其中每个数据元素αj是一个列向量(线性表) :
αj =(a1j ,a2j ,…,amj) 1≦j≦n
或是一个行向量:
αi =(ai1 ,ai2 ,…,ain) 1≦i≦m
如图5-1所示。; a11 a12 … a1n
a21 a22 … a2n
… … … … …
am1 am2 … amn;5.2 数组的顺序表示和实现;通常有两种顺序存储方式:
⑴ 行优先顺序(Row Major Order) :将数组元素按行排列,第i+1个行向量紧接在第i个行向量后面。对二维数组,按行优先顺序存储的线性序列为:
a11,a12,…,a1n, a21,a22,…a2n ,……, am1,am2,…,amn
PASCAL、C是按行优先顺序存储的,如图5-2(b)示。
⑵ 列优先顺序(Column Major Order) :将数组元素按列向量排列,第j+1个列向量紧接在第j个列向量之后,对二维数组,按列优先顺序存储的线性序列为:
a11,a21,…,am1, a12,a22,…am2, ……, an1,an2,…,anm
FORTRAN是按列优先顺序存储的,如图5-2(c)。;图5-2 二维数组及其顺序存储图例形式; 设有二维数组A=(aij)m?n,若每个元素占用的存储单元数为l(个),LOC[a11]表示元素a11的首地址,即数组的首地址。
1 以“行优先顺序”存储
⑴ 第1行中的每个元素对应的(首)地址是:
LOC[a1j]=LOC[a11]+(j-1)?l j=1,2, …,n
(2) 第2行中的每个元素对应的(首)地址是:
LOC[a2j]=LOC[a11]+n?l +(j-1)? l j=1,2, …,n
… … …
⑶ 第m行中的每个元素对应的(首)地址是:
LOC[amj]=LOC[a11]+(m-1)?n?l +(j-1)? l j=1,2, …,n ;;
n维数组中任一元素aj1j2…jn的(首)地址是:
LOC[aj1j2…jn]=LOC[a11 …1]+[(b2?…?bn)?(j1-1)
+ (b3?…?bn)?(j2-1)+ …
+ bn?(jn-1-1)+ (jn-1)] ? l (5-3);2 以“列优先顺序”存储
⑴ 第1列中的每个元素对应的(首)地址是:
LOC[aj1]=LOC[a11]+(j-1)? l j=1,2, …,m
(2) 第2列中的每个元素对应的(首)地址是:
LOC[aj2]=LOC[a11]+m? l +(j-1)? l j=1,2, …,m
… … …
⑶ 第n列中的每个元素对应的(首)地址是:
LOC[ajn]=LOC[a11]+ (n-1)?m? l +(j-1)? l j=1,2, …,m
由此可知,二维数组中任一元素aij的(首)地址是:
LOC[aij]=LOC[a11]+[(i-1)?m+(j-1)]? l (5-1)
i=1,2, …,n j=1,2, …,m ;;;5.3 矩阵的压缩存储;5.3.1 特殊矩阵; 对称矩阵中的元素关于主对角线对称,因此,让每一对对称元素aij和aji(i≠j)分配一个存储空间,则n2个元素压缩存储到n(n+1)/2个存储空间,能节约近一半的存储空间。
不失一般性,假设按“行优先顺序”存储下三角形(包括对角线)中的元素。
设用一维数组(向量)sa[0…n(n+1)/2]存储n阶对称矩阵,如图5-4所示。为了便于访问,必须找出矩阵A中的元素的下标值(i,j)和向量sa[k]的下标值k之间的对应关系。;; 根据上述的下标对应关系,对于矩阵中的任意元素aij,均可在一维数组sa中唯一确定其位置k;反之,对所有k=1,2, …,n(n+1)/2,
您可能关注的文档
最近下载
- 2024盐雾试验标准.pdf VIP
- 2015水利安全解析27 (3).doc VIP
- 钢轨探伤——任务4.2钢轨焊缝轨头探伤.pptx VIP
- 特科纳TECHNAL幕墙系统GEODE MX 52 SSG BG 设计与加工手册.pdf VIP
- 挚驱S2系列伺服说明书V220.pdf
- DBJ04_T307-2025 住宅小区配套供电工程技术规程.docx VIP
- 甘肃刘家峡水电厂#5机励磁系统模型及参数测试及PSS试验结.ppt VIP
- 初中数学课堂等待时间与学生学习心理研究论文.docx
- 特科纳TECHNAL幕墙系统SPINAL MY 62 加工手册.pdf VIP
- 10立方双层油罐图纸.pdf VIP
文档评论(0)