存储地址计算
s=sizeof(datatype)
一维数组 | &a[i]=&a[0]+i × \times ×s |
二维数组(行优先) | k=i × \times ×t2+j |
二维数组(列优先) | k=j × \times ×t1+i |
三维数组 | l=i × \times ×t2 × \times ×t3+j × \times ×t1+k |
下三角矩阵 | k= i ( i + 1 ) 2 \frac{i(i+1)}{2} 2i(i+1)+j |
上三角矩阵 | k= i ( 2 n − i + 1 ) 2 \frac{i(2n-i+1)}{2} 2i(2n−i+1)+j-i |
对称矩阵(存储下三角) | k = { i ( i + 1 ) 2 + j i≥j j ( j + 1 ) 2 + i i<j k=\begin{cases}\frac{i(i+1)}{2}+j& \text{i≥j}\\\frac{j(j+1)}{2}+i& \text{i<j}\end{cases} k={2i(i+1)+j2j(j+1)+ii≥ji<j |
三对角矩阵(带状矩阵) | k=2i+j |
稀疏矩阵
r行c列t项
转置算法 O(c
×
\times
×t)
快速转置 O(r
×
\times
×c)
线性表的顺序存储方式——顺序表
搜索 ACN=
n
+
1
2
\frac{n+1}{2}
2n+1
插入 AMN=
n
2
\frac{n}{2}
2n
删除 AMN=
n
−
1
2
\frac{n-1}{2}
2n−1