数据结构-数组、矩阵、广义表
一、数组、矩阵、广义表
1.数组
(1)一维数组:a[n],a[i]存储位置为a+leni
(2)二维数组:a[m][n]
按行存储,a[i][j]存储位置为a+len(in+j)
按列存储,a[i][j]存储位置为a+len(j*m+i)
2.稀疏矩阵
(1)定义:一个矩阵中非0元素个数远远少于0元素的个数,且非0元素的分布没有规律,则称之为稀疏矩阵
(2)存储:一个非0元素由三元组(i,j,aij)唯一确定
(3)三元组表的顺序存储结构:三元组顺序表
(4)特点:稀疏矩阵大量元素是零,存储一部分内容就已经把有效数据存储了,这可以节省很多空间
(5)稀疏矩阵中的上三角矩阵与下三角矩阵:
稀疏矩阵 | 下标分别为i和j的元素对应的一维数组的下标计算公式 |
---|---|
上三角矩阵 | (2 n - i + 1) * i / 2 + j |
下三角矩阵 | (i + 1) * i / 2 + j |
(6)稀疏矩阵涉及到的计算:
可使用代入法,如下题,将A(0,0),A(1,0)代入以下选项,不符合则排除