问题
单项选择题
设矩阵A是一个n*n对称矩阵.即A[i,j]=A[i,j],为了节省存储空间,将其下三角部分按行序为主序存放在一维数B[1...n(n+1)/2)中,对任一下三角元素aij(i>=j),在一维数组 B的下标位置k的值是( )。
A.(i+(i-1))/2+j-1
B.i(i-1)/2+j
C.i(i+1)/2+-1
D.i(i+1)/2+j
答案
参考答案:B
解析: aij元素处在第i行第j列位置。上i-1行的元素个数为(1+i-1)(i-1)/2= j(i-1)/2。再加上在i行的i个元素,总共是i(i-1)/2+j