数据结构——稀疏数组
数组:从逻辑结构上看,一维数组A是n(n>1)个相同类型数据元素a1、a2、… 、an构成的有限序列,逻辑表示为:A=(a1,a2,a3…an)其中,ai(1<=i<=n)表示数组A的第i个元素。
一个m行n列的二维数组A可以看作是每个数据元素都是相同类型的一维数组的一维数组。由此可以看出,多维数组是线性表的推广。
数组数据类型具有以下性质:
- 数组中元素数目固定。
- 数组中的所有数据元素具有相同的数据类型。
- 数组中每个数据元素都有一组唯一的下标。
- 数组是一种随机存储结构。可随机存取数组中的任意数据元素。
对于一个m行n列的二维数组AmXn,存储方式:
- 以行序为主序的存储
- 以列序为主序的存储
特殊矩阵的压缩存储
特殊矩阵的主要形式有:
- 对称矩阵
- 上三角矩阵/下三角矩阵
- 对角矩阵
他们都是方阵,即行数和列数相同。
若一个n阶方阵A[n][n]中的元素满足ai,j=aj,i(0<=i,j<=n-1),则称其为n阶对称矩阵
以行序为主序存储其下三角+主对角线的元素(共n(n+1)/2个元素)。
上三角矩阵
下三角矩阵
对角矩阵