贵州民族学院数据结构课件 第十三章.pptVIP

  • 0
  • 0
  • 约1.47万字
  • 约 10页
  • 2019-05-06 发布于广东
  • 举报

贵州民族学院数据结构课件 第十三章.ppt

第十三章 多维数组和广义表 第13章 多维数组和广义表 多维数组和广义表可看成是一种特殊的线性表,其特殊在于,表中的所有元素本身也是一种线性表 13.1 多维数组 13.2 矩阵的压缩存储 13.2.1 特殊矩阵 13.2.2 稀疏矩阵 13.3 广义表的概念 13.4 广义表的存储 13.1 多维数组 由于数组中各元素具有统一的类型,并且数组元素的下标一般具有固定的上界和下界,因此,数组的处理比其它复杂的结构更为简单 多维数组是向量的推广。例如,二维数组: 13.1 多维数组 数组一旦被定义 维数和维界就不再改变 除了结构的初始化和销毁之外,数组只有存取元素和修改元素值的操作 多维数组的顺序存储 计算机的内存结构是一维的 用一维内存来表示多维数组,就必须按某种次序将数组元素排成一线性序列 将这个线性序列存放在存储器中 对数组一般不做插入和删除操作 数组一旦建立,结构中的元素个数和元素间的关系不再发生变化 一般都是采用顺序存储的方法来表示数组 通常有两种顺序存储方式: 行优先顺序 列优先顺序 13.2 矩阵的压缩存储 矩阵是科学与工程计算问题中的一种常用数学对象 在高级语言编制程序时,二维数组是描述矩阵的一个简单而又自然的方法 矩阵的这种存储表示的好处 可以对其元素进行随机存取 各种矩阵运算也非常简单 存储的密度为1 13.2 矩阵的压缩存储 在矩阵中非零元素呈某种规律分布或者矩阵中出现大量零元素的情况下 若存储密度仍为1,就占用了许多单元去存储重复的非零元素或零元素,这对高阶矩阵会造成极大的浪费 可以对这类矩阵进行压缩存储: 多个相同的非零元素只分配一个存储空间 零元素不分配空间 13.2.1 特殊矩阵 非零元素或零元素的分布有一定规律的矩阵,下面我们讨论几种特殊矩阵的压缩存储 13.2.1 特殊矩阵 1、对称矩阵 在一个n阶方阵A中,若元素满足下述性质: aij=aji 0≤i,j≤n-1 则称A为对称矩阵 对称矩阵中的元素关于主对角线对称 只要存储矩阵中上三角或下三角中的元素 两个对称的元素共享一个存储空间 不失一般性,我们讨论按“行优先顺序”存储主对角线以下(包括对角线)的元素 13.2.1 特殊矩阵 例 1 5 1 3 7 a00 5 0 8 0 0 a10 a 11 A= 1 8 9 2 6 a20 a21 a23 3 0 2 5 1 ··· ··· 7 0 6 1 3 an-1 0 a n-1 1 a n-1 2 …a n-1n-1 该矩阵的下三角中,第i行恰有i+1个元素,元素总数为: n(n+1)/2 可以按从上到下、从左到右将这些元素存放在一个向量Sa[n(n+1)/2]中 为便于访问对称矩阵A中的元素,必须在aij和Sa[k]之间建立对应关系 若i≥j,则aij在下三角形中。 aij之前的i行(从第0行到第i-1行)一共有1+2+ ···+i = i(i+1)/2个元素,在第i行上, aij之前恰有j个元素(即ai0,ai1,ai2,···,aij-1),有: k=i(i+1)/2+j 0≤kn(n+1)/2 若ij,则aij是在上三角矩阵中。因为aij=aji,所以只要交换上述对应关系式中的i和j即可得到: k=j(j+1)/2+i 0≤kn(n+1)/2 13.2.1 特殊矩阵 2、三角矩阵 以主对角线划分为两种:上三角矩阵和下三角矩阵 上三角矩阵的下三角(不包括主对角线)中的元素均为常数 下三角矩阵正好相反,它的主对角线上方均为常数 在大多数情况下,三角矩阵常数为零 13.2.1 特殊矩阵 a00 a01···a0n-1 a00 c ··· c c a11 ···a1n-1 a10 a11 ··· c c c ···an-1n-1 an-10 an-11 ··· an-1 n-1 重复元素c可共享一个存储空间,其余的元素正好有n(n+1)/2个,因此,三角矩阵可压缩存储到向量Sa[n(n+1)/2+1]中,其中c存放在向量的最后一个分量中(Sa[n(n+1)/2]) 13.2.1 特殊矩阵 上三角矩阵中 主对角线之上的第i行(0≤in

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档