13
33
18
40
对称矩阵按照行序压缩存储位置(i(i-1))/2+j
按行存储需要看从(0,0)开始还是(1,1)开始,从11开始就是上面的公式,从0开始就是 i j 自觉加一,并减首地址原来的1加首地址真正地址。
列存储就是另外一个公式。
根据压缩存储方式,对称矩阵只需存储上三角部分(包括对角线)。对于一个 n 阶的对称矩阵,共有 (n*(n+1))/2 个元素需要存储。
由于采用行序为主存储,第 i 行的元素中,前 i-1 个元素是该行之前的所有行的上三角元素,第 i 个元素是该行之前的所有行的上三角元素和该行的对角线元素。
根据这个规律,我们可以计算出 a 行列所在的地址:
按照这种方式继续推算,可以得到下面的地址序列:
1, 2, 3, 5, 6, 7, 9, 10, 11, 12, ...
因此,a85 的地址为 85。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题