单选题
设A是n×n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1…n(n+1)/2]中,对上述任一元素a
ij
(1≤i,j≤n,且i≤j)在B中的位置为______。
A、
i(i-1)/2+j
B、
j(j-1)/2+i
C、
j(j-1)/2+i-1
D、
i(i-1)/2+j-1
【正确答案】
B
【答案解析】
[解析] 在堆成矩阵中,通常存储其对角线及对角线下方的元素,此时,a
ij
在压缩后的数组中的位置为i(i-1)/2+j。但在本题中,B中存储的是A的对角线及对角线上方的元素,且以列为主存储次序,因此,a
ij
在压缩后的数组中的位置为j(j-1)/2+i。
提交答案
关闭