数据结构05数组和广义表11

数据结构05数组和广义表11

ID:24385309

大小:736.50 KB

页数:58页

时间:2018-11-14

数据结构05数组和广义表11_第1页
数据结构05数组和广义表11_第2页
数据结构05数组和广义表11_第3页
数据结构05数组和广义表11_第4页
数据结构05数组和广义表11_第5页
资源描述:

《数据结构05数组和广义表11》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2021/10/71本章主要介绍数组的概念及多维数组在计算机中的存放,特殊矩阵的压缩存储及相应运算,广义表的概念和存储结构及其相关运算的实现。通过本章学习,要求掌握如下内容:1.多维数组的定义及在计算机中的存储表示;2.对称矩阵、三角矩阵、对角矩阵等特殊矩阵在计算机中的压缩存储表示及地址计算公式;3.稀疏矩阵的三元组表示及转置算法实现;4.稀疏矩阵的十字链表表示及相加算法实现;5.广义表存储结构表示及基本运算。本章学习导读2021/10/72数组和广义表可看成是一种特殊的线性表,其特殊在于,表中的数据元素本

2、身也是一种线性表。5.1.1数组的定义数组是大家都已经很熟悉的一种数据类型,几乎所有高级语言程序设计中都设定了数组类型。数组(Array)是由n(n>1)个相同类型数据元素a0,al,…ai…,an-1构成的有限序列。n是数组的长度。其中数组中的数据元素ai是一个数据结构,即ai可以是线性表中的一个元素,本身也可以是一个线性表,而线性子表中的每一个数据元素还可以再分解……。根据数组元素ai的组织形式不同,数组可以分为一维数组、二维数组以及多维(n维)数组。5.1数组2021/10/73有时也把一维数组称为向

3、量,二维数组称为矩阵。在二维或多维数组中,每个数组元素都受到2个或n个关系的约束。当数组为n维时,其对应线性表中的每个元素又是一个线性表。在每个关系中,每个元素都有一个直接后继。因此,就其单个关系而言,这n个关系中的每一个仍然是一种线性关系。数组中每个元素都是由一个值和一组下标来确定的。同线性表一样,数组中的所有数据元素都必须属于同一数据类型。元素下标的个数被称为数组的维数。显然,当维数为1时,数组就退化为定长的线性表。2021/10/741.一维数组一维数组可以看成是一个线性表或一个向量,它在计算机内是存

4、放在一块连续的存储单元中,适合于随机查找。一维数组记为A[n]或A=(a0,al,…ai,…,an-1)一维数组中,一旦a0的存储地址、一个数据元素所占存储单元数L确定,则ai的存储地址LOC(ai)就可求出:LOC(ai)=LOC(a0)+i*L(0≤i

5、5可以看成由m个行向量组成的向量,也可以看由n个列向量组成的向量。数组中的每个元素由元素值aij及一组下标(i,j)来确定。aij既属于第i行的行向量,又属于第j列的列向量。其中,ai=(ai,0ai,1…ai,n-1)(0≤i<n)可以认为Am*n=A,A是这样的一维数组:A=(a0,al,…,ai,…,am-1)2021/10/76显然,二维数组同样满足数组的定义。一个二维数组可以看作是每个数据元素都是相同类型的一维数组。以此类推,任何多维数组都可以看作一个线性表,这时线性表中的每个数据元素也是一个线性

6、表。多维数组是特殊的线性表,是线性表的推广。数组的性质:(1)数组中的数据元素数目固定。一旦定义了一个数组,其数据元素数目不再有增减变化。它属于静态分配存储空间的数据结构。(2)数组中的数据元素必须具有相同的数据类型。(3)数组中的每个数据元素都有一组唯一的下标值。(4)数组是一种随机存储结构。可随机存取数组中的任意数据元素。2021/10/77对于多维数组,有两种存储方式:Am,n以行序为主序的顺序存储;数组元素按行向量排列,即第i+1个行向量紧接在第i个行向量之后,把所有数组元素顺序存放在一块连续的存储

7、单元中。任一数据元素的存储地址可由公式算出:Loc(ai,j)=loc(a0,0)+(i*n+j)*L以列序为主序的顺序存储在以列序为主序的存储方式中,数组元素按列向量排列,即第j+1个列向量紧接在第j个列向量之后,把所有数组元素顺序存放在一块连续的存储单元中。任一数据元素的存储地址可由公式算出Loc(ai,,j)=loc(a0,,0)+(j*m+i)*L2021/10/78推广到一般设二维数组行下界为c1,行上界为d1,列下界为c2,列上界为d2,即数组A[c1…d1,c2…d2].-则以行序为主序的求元

8、素地址公式可以为:Loc(ai,j)=loc(ac1,c2)+[(i-c1)*(d2-c2+1)+(j-c2)]*L则以列序为主序的求元素地址公式可以为:Loc(ai,j)=loc(ac1,c2)+[(j-c1)*(d1-c1+1)+(i-c1)]*L2021/10/795.1.2数组的基本操作数组一旦被定义,它的维数和维界就不再改变。因此,除了结构的初始化和销毁之外,数组的基本操作一般不会含有元素的插入或删除等

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。