对称矩阵
aij==aji的这类n阶矩阵统称为对称矩阵
这样就可以把矩阵存储到一维数组中去,且只需要n(n+1)2个空间
推理:
- 除了中间的对角线为n个
- 其他的对半分=n2−n2
- 总共=n2−n2+n=n(n+1)2
则顺序存储中的链表和n阶矩阵中的ij的对应关系为
k=⎧⎩⎨i(i−1)2+j−1,j(j−1)2+i−1,i ≥ ji < j
推理:
比如
⎛⎝⎜⎜⎜⎜⎜a00a10⋮an0a01a11⋮an1a01a11⋮an1⋯⋯⋱⋯a0na1n⋮ann⎞⎠⎟⎟⎟⎟⎟
则 - 第0行为1=0+1个
- 第1行为 2=1+1个
- 第i-1行为i个
- 那么 aij = (1+2+..+i-1)+j =i∗(i−1)2+j
- 又因为 位置是从顺序存储的0下标开始的所以都减去i∗(i−1)2+j−1