单选题 若将n阶上三角矩阵A按照列优先顺序存放在一维数组B[0,1,…,{n×(n+1)/2}-1]中,第一个非零元素a(1,1)存于B[0]中,则存放到B[k]中的非零元素a(i,j)(1≤i≤n,1≤j≤n)的下标i、j与k的对应关系是______。
  • A.k=i×(i+1)/2+j
  • B.k=i×(i-1)/2+j-1
  • C.k=j×(j+1)/2+i
  • D.k=j×(j-1)/2+i-1
【正确答案】 D
【答案解析】[解析] 对于元素a(i,j)而言,前面有j-1列,第1列到第j-1列的元素个数分别为1~j-1个,由等差数列求和公式可算得一共有j×(j-1)/2个元素,故k=j×(j-1)/2+i-1(注意B数组是从0开始存元素,因此要减去1)。