数据结构与算法-三对角矩阵的压缩公式推导
- 三对角矩阵

- 压缩公式推导
(1)考虑a[i,j]处在第2到第n-1行之间:
我们可以看到,从第二行开始,元素的个数都为3个。对于a[i,j]将要存储的数组下标k,首先前(i-1)行元素的个数是(i-2)*3 +2(i-2减去的是第一行和自己这行;第一行元素的个数为2),又a[i,j]属于第i行所有元素的第j-i+2个元素(随便找一行j-i看下就能得到),所以k= (i-2)*3 +2 + j-i+2-1 = 2i+j-3(注意数组下标为元素位序-1).
(2)特殊考虑第一行发现也符合上式.
(3)故数组下标k=2i+j-3 - 逆推导坐标
(1)i = [(k+1)/3] + 1
k+1为元素总个数,整除3之后是除了第一行的行数,+1即为实际行数.
(2)j = k -2i +3
直接代入压缩公式可得.
本文详细介绍了三对角矩阵的压缩存储公式推导过程,从矩阵元素的位置出发,通过数学归纳得出数组下标k的计算公式为2i+j-3。同时,还阐述了如何根据压缩后的下标逆推出原始坐标(i, j)的方法,对于理解数据结构和算法中的矩阵压缩存储具有指导意义。

7367

被折叠的 条评论
为什么被折叠?



