若将n阶上三角矩阵A按照列优先顺序存放在一维数组B[0,1,…,{n×(n+1)/2}—1]中,第一个非零元素a(1,1)存于B[O]中,则存放到B[k]中的非零元素a(i,j)(1≤i≤n,1≤j≤n)的下标i、j与k的对应关系是( )。

admin2022-06-07  27

问题 若将n阶上三角矩阵A按照列优先顺序存放在一维数组B[0,1,…,{n×(n+1)/2}—1]中,第一个非零元素a(1,1)存于B[O]中,则存放到B[k]中的非零元素a(i,j)(1≤i≤n,1≤j≤n)的下标i、j与k的对应关系是(    )。

选项 A、k=i×(i+1)/2+j
B、k=j×(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个,由等差数列求和公式可算得一共有jx(j—1)/2个元素,故k=j×(j—1)/2+i—1(注意B数组是从0开始存元素,因此要减去1)。
转载请注明原文地址:https://kaotiyun.com/show/bj3i777K
0

最新回复(0)