问题
单项选择题
设下三角矩阵A:
如果以行序为主序将A的非零元素存储在一维数组B[n(n+1)/2]中,那么A的第i行第j列的非零元素aij(i≥j)在数组B中的下标为()
A.
B.
C.
D.
答案
参考答案:B
解析:
按行优先存储就是把矩阵中的数据一行一行地顺次存入存储单元,此题中就按a11、a21、a22、a31、a32、a33、…、an1、an2、an3、…、ann的顺序来存储。
从第1行到第i-1行(a11~ai-1,i-1)共有[*]个非零元素;在第i行,从ai1至aij共有j个非零元素,因此a11至aij共有[*]个非零元素,而a11对应的下标为0,于是aij对应的下标为[*]。