第5章多维数组和广义表 数据结构(C++描述
第5章多维数组和广义表 数据结构(C++描述)
目录 5.1多维数组 52多维数组的存储结构 53特殊矩阵及其压缩存储 5.4稀疏矩阵 55广义表 退出
5.5 广义表 5.1多维数组 5.2多维数组的存储结构 5.3 特殊矩阵及其压缩存储 5.4 稀疏矩阵 退出 目录
51多维数组 511多维数组的概念 1.一维数组 维数组可以看成是一个线性表或一个向量(第 二章已经介绍),它在计算机内是存放在一块连 续的存储单元中,适合于随机查找。这在第二章 的线性表的顺序存储结构中已经介绍。 2.二维数组 二维数组可以看成是向量的推广
5.1多维数组 5.1.1多维数组的概念 1.一维数组 一维数组可以看成是一个线性表或一个向量(第 二章已经介绍),它在计算机内是存放在一块连 续的存储单元中,适合于随机查找。这在第二章 的线性表的顺序存储结构中已经介绍。 2.二维数组 二维数组可以看成是向量的推广
例如,设A是一个有m行n列的二维数组,则A可以 表示为 a aon- a a11 a A am-10am-11 在此,可以将二维数组A看成是由m个行向量[X0, X1,…,Xm组成,其中,X=(a02a12…2am-), 0≤i≤m-1;也可以将二维数组A看成是由n个列向量[y0 y1……n1组成,其中y;=(ao,a1;…am-1),0≤i≤n-1
a00 a01 …… a0n-1 a10 a11 …… a1n-1 …………………………. am-1 0 am-1 1 …… am-1 n-1 A= 例如,设A是一个有m行n列的二维数组,则A可以 表示为: 在此,可以将二维数组A看成是由m个行向量[X0, X1, …,Xm-1 ] T组成,其中,Xi=( ai0, ai1, ….,ain-1 ), 0≤i≤m-1;也可以将二维数组A看成是由n个列向量[y0 , y1 , ……,yn-1 ]组成,其中 yi=(a0i, a1i, …..,am-1i), 0≤i≤n-1
由此可知二维数组中的每一个元素最多可有二个直接 前驱和两个直接后继(边界除外),故是一种典型的 y非线性结构 3.多维数组 同理,三维数组最多可有三个直接前驱和三个直接后继, 三维以上数组可以作类似分析。因此,可以把三维以上的 数组称为多维数组,多维数组可有多个直接前驱和多个直 接后继,故多维数组是一种非线性结构
由此可知二维数组中的每一个元素 最多可有二个直接 前驱和两个直接后继(边界除外),故是一种典型的 非线性结构。 3.多维数组 同理,三维数组最多可有三个直接前驱和三个直接后继, 三维以上数组可以作类似分析。因此,可以把三维以上的 数组称为多维数组,多维数组可有多个直接前驱和多个直 接后继,故多维数组是一种非线性结构