1 / 44
文档名称:

第5章 数组和广义表.ppt

格式:ppt   页数:44
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第5章 数组和广义表.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第5章 数组和广义表.ppt

文档介绍

文档介绍:第5章数组和广义表
数组的定义和运算
数组的顺序存储和实现
特殊矩阵的压缩存储
三角矩阵
带状矩阵
稀疏矩阵
广义表
返回主目录
数组的定义和运算
数组是一种数据类型。从逻辑结构上看,数组可以看成是一般线性表的扩充。二维数组可以看成是线性表的线性表。例如:
Am×n=
a12 a12 ┅ a1j ┅ a1n
a21 a22 ┅ a2j ┅ a2n
┇┇
ai1 ai2 ┅ aij ┅ ain
┇┇
am1 am2 ┅ amj ┅ amn
返回主目录
Am×n=
a12 a12 ┅ a1j ┅ a1n
a21 a22 ┅ a2j ┅ a2n
┇┇
ai1 ai2 ┅ aij ┅ ain
┇┇
am1 am2 ┅ amj ┅ amn
A=( 1  2 ┅j ┅n)
我们可以把二维数组看成一个线性表:
A=( 1  2 …j …n),其中j(1≤j ≤n)本身也是一个线性表,称为列向量。
矩阵Am×n看成n个列向量的线性表,即j=(a1j,a2j, …,amj)
返回主目录
Am×n=
a12 a12 … a1j … a1n
a21 a22 … a2j … a2n
┇┇
ai1 ai2 … aij … ain
┇┇
am1 am2 … amj … amn
B

1
2

i

m
我们还可以将数组Am×n看成另外一个线性表:
B=(1,,2,,…,m),其中i(1≤i ≤m)本身也是一个线性表,称为行向量,即: I= (ai1,ai2, …,aij ,…,ain)。
返回主目录
上面二维数组的例子,介绍了数组的结构特性,实际上数组是一组有固定个数的元素的集合。由于这个性质,使得对数组的操作不象对线性表的操作那样,可以在表中任意一个合法的位置插入或删除一个元素。
对于数组的操作一般只有两类:
(1)获得特定位置的元素值;
(2)修改特定位置的元素值。
返回主目录
数组的抽象数据类型定义(ADT Array)
数据对象:D={ aj1j2…jn| n>0,称为数组的维数,ji是数组的第i维下标,1≤ji≤bi,bi为数组第i维的长度, aj1j2…jn ∈ElementSet}
数据关系:R={R1,R2,…,Rn}
Ri={< aj1 … ji…jn ,aj1 … ji+1…jn > | 1≤jk≤bk,1≤k≤n 且k≠i,1≤ji≤bi-1, aj1 … ji…jn ,aj1 … ji+1…jn ∈D,i=1,…,n}
返回主目录
基本操作:
(1)InitArray(A,n,bound1,…,boundn): 若维数n和各维的长度合法,则构造相应的数组A,并返回TRUE;
(2)DestroyArray(A): 销毁数组A;
(3)GetValue(A,e, index1, …,indexn): 若下标合法,用e返回数组A中由index1, …,indexn所指定的元素的值。
(4)SetValue(A,e,index1, …,indexn): 若下标合法,则将数组A中由index1, …,indexn所指定的元素的值置为e。
注意:这里定义的数组下标是从1开始,与C语言的数组略有不同。
返回主目录
数组的顺序存储和实现
对于数组A,一旦给定其维数n及各维长度bi(1≤i≤n),则该数组中元素的个数是固定的,不可以对数组做插入和删除操作,不涉及移动元素操作,因此对于数组而言,采用顺序存储法比较合适。
数组的顺序存储结构有两种:一种是按行序存储,如高级语言BASIC、COBOL和PASCAL语言都是以行序为主。另一种是按列序存储,如高级语言中的FORTRAN语言就是以列序为主。
返回主目录
对于二维数组Amxn
以行为主的存储序列为:a11 ,a12, … a1n ,a21 ,a22 ,…,a2n , ……,am1 ,am2 , …, amn
以列为主存储序列为:a11, a21,… am1 ,a12 ,a22 ,…,am2 ,……,a1n ,a2n , …,amn
假设有一个3×4×2的三维数组A ,其逻辑结构图为:



返回主目录
以二维数组Amn为例,假设每个元素只占一个存储单元,“以行为主”存放数组,下标从1开始,首元素a11的地址为Loc[1,1] 求任意元素aij的地址,可由如下计算公式得到:
Loc[i,j]=Loc[1,1]+n×(i-1)+(j-1)
如果每个元素占size个存储单元,则任意元素aij的地址计算公式为:
Loc[i,j]=L

最近更新

2023年山东城市服务职业学院单招职业适应性考.. 40页

2023年山东工程职业技术大学单招职业倾向性考.. 40页

2023年山东服装职业学院单招职业技能考试模拟.. 39页

2023年山东省烟台市单招职业倾向性考试题库必.. 39页

2023年山西省晋城市单招职业倾向性考试题库最.. 40页

2023年平凉职业技术学院单招职业技能考试题库.. 40页

2023年广东省茂名市单招职业倾向性考试题库及.. 41页

2026年借物抒情优秀作文600字10篇 13页

2023年日照航海工程职业学院单招职业技能考试.. 40页

2023年江西工业工程职业技术学院单招职业技能.. 39页

2023年江西省赣州市单招职业适应性考试题库完.. 41页

2023年河北省张家口市单招职业倾向性考试题库.. 41页

2026年保险准主任培训心得 12页

2023年海南工商职业学院单招职业技能考试题库.. 41页

2023年湖南电气职业技术学院单招职业技能考试.. 41页

2026年保育员的个人总结报告 19页

2023年甘肃省嘉峪关市单招职业倾向性考试题库.. 39页

2023年石家庄邮电职业技术学院单招职业技能考.. 40页

2023年福建省泉州市单招职业倾向性考试题库必.. 39页

2026年保洁年度工作计划书 46页

2023年西安高新科技职业学院单招职业技能考试.. 41页

胶囊载药系统创新 38页

2023年辽宁省丹东市单招职业倾向性考试题库汇.. 40页

2023年运城师范高等专科学校单招职业技能考试.. 40页

2023年重庆市广安市单招职业倾向性考试题库必.. 41页

2023年重庆移通学院单招职业技能考试题库新版.. 39页

2023年长沙电力职业技术学院单招职业技能考试.. 41页

2023年青海省海南藏族自治州单招职业倾向性考.. 39页

2023年黑龙江省七台河市单招职业适应性考试题.. 40页

2024年七台河职业学院单招综合素质考试题库新.. 40页