设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i=j),在一维数组B的下标位置k的值是()。A、i(i-1)/2+j-1B、i(i-1)/2+jC、i(i+1)/2+j-1D、i(i+1)/2+j

题目

设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i>=j),在一维数组B的下标位置k的值是()。

  • A、i(i-1)/2+j-1
  • B、i(i-1)/2+j
  • C、i(i+1)/2+j-1
  • D、i(i+1)/2+j
参考答案和解析
正确答案:B
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i

A.i*(i-1)/2+j

B、j*(j-1)/2+i

C.i*(i+1)/2+j

D、j*(j+1)/2+i


参考答案:B

第2题:

● 采用一维数组 S 存储一个 n 阶对称矩阵 A 的下三角部分(按行存放,包括主对角线) ,设元素A[i][j]存放在 S[k] 中(i、j、k 均从1 开始取值) ,且 S[1]=A[1][1],则k与 i、j 的对应关系是 (43) 。例如,元素 A[3][2]存在 S[5]中。


正确答案:D

第3题:

设二维数组A[1...m,1...n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。

A.n*(i-1)+j

B.n*(i-1)+j-1

C.i*(j-1)

D.j*m+i-1


正确答案:A

第4题:

按行优先顺序存储下三角矩阵的非零元素,非零元素aij(1≤i≤j≤n)地址计算公式是 ______。

A.LOC(aij)=LOC(a11)+i×(i+1)/2+i

B.LOC(aij)=LOC(a11)+i×(i+1)/2+(i-1)

C.LOC(aij)=LOC(a11)+i×(i-1)/2+i

D.LOC(aij)=LOC(a11)+i×(i-1)/2+(i-1)


正确答案:D
解析:具有大量0元素的矩阵称做稀疏矩阵。若非0元素的分布有规律,则可以用顺序方法存储非0元素,仍可以用公式计算数组元素的地址。如下三角矩阵,其非零元素的地址可用下式计算:LOC(aij)=LOC(a11)+i ×(i-1)/2+(j-1),1≤i≤j≤n

第5题:

对于一个n阶的对称矩阵A,将其下三角区域(含主对角线)的元素按行存储在一维数组中,设元素A[i][y]存放在S[k]中,且S[1]=A[0][0],则R与i,y(i<=y)的对应关系是()

A、K=i(i+1)/2+y-1

B、k=i(i+1)/2+y+1

C、K=i(i-1)/2+y-1

D、k=i(i-1)/2+y-1


正确答案:B

第6题:

设矩阵A是一个n×n对称矩阵,即A[i,j]=A[j,i],为了节省存储空间,将其下三角部分按行序为主序存放在一维数D[1…n(n+1)/2]中,对任一下三角元素Aij(i≥j),在一维数组B的下标位置k的值是______。

A.(i+(i-1)/2+j-1)

B.i(i-1)/2+j-1

C.i(i+1)/2+j-1

D.i(i+1)/2+j


正确答案:B

第7题:

按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(1≤j≤i≤n)的地址的公式为( )。 A.LOC(aij)=LOC(a11)+i×(i+1)/2+j B.LOC(aij)=LOC(all)+i×(i+1)/2+(j-1) C.LOC(aij)=LOC(all)+i×(i-1)/2+(j+1) D.LOC(aij)=LOC(all)+i×(i-1)/2+(j-1)


正确答案:D
LOC(aij)=LOC(all)+i×(i-1)/2+(j-1)

第8题:

按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(下标)(1≤j≤i≤n)的地址的公式为______。

A.LOC(aij)=LOC(a11)+i×(i+1)/2+j

B.LOC(aij)=LOC(a11)+i×(i+1)/2+(j-1)

C.LOC(aij)=LOC(a11)+i×(i-1)/2+j

D.LOC(aij)=LOC(a11)+i×(i-1)/2+(j-1)


正确答案:D
解析:本题考查点是多维数组的顺序存储。按行优先顺序存储下三角矩阵A。的非零元素,可以得到如下的序列:a11,a21,a22,a31,a32,a33,…,an1,an2,an3,…,ann,将该序列顺序存储在内存中,第1行到第i-1行的元素个数为1+2+…+(i-1)=i×(i-1)/2,假设a11地址是Loc(a11),非零aij(1≤j≤i≤n)的是第i行的第j个元素,因此其地址是:Loc(aij)=Loc(a11)+i×(i-1)/2+j-1。

第9题:

按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(1≤j≤n)的地址的公式为其中入为每个数组元素所占用的存储单元空间。

A.LOC(aij)=LOC(a11)+[i×(i+1)/2+j]*λ

B.LOC(aij)=LOC(a11)+[i×(i+1)/2+(j-1)]*λ

C.LOC(aij)=LOC(a11)+[i×(i-1)/2+j]*λ

D.LOC(aij)=LOC(a11)+[i×(i+1)/2+(j-1))]*λ 下列题目基于下图所示的二叉树:


正确答案:D
解析:如果按行优先顺序列出下三角矩阵中的非零元素,得到如下序列 A11,A21,A22,...An1,An2…Ann,把它顺序存储在内存中,第一行到第i行共有非零元素的个数为[i×(i-1)/2],因此非零元素Aij(1≤j≤i≤n)的地址的公式为LOC(Aij):LOC (A11)+(i×(i-1)/2+(j-1)]*λ。因此本题正确答案是选项D。实际上这相当于是个等差数列求和的问题。鉴于题目的特殊性,可以考虑用特例法来解,这就是令i=1,j= 1,检验哪个选项是正确的。

第10题:

设n行n列的下三角矩阵A已压缩到一维数组B[1...n(n+1)/2]中,若按行为主序存储,则A[i,j]对应的B中存储位置为(48)。

A.i(i-1)/2+j

B.j(j-1)/2+i

C.i(i+D)/2+j

D.j(j+1)/2+i


正确答案:A
解析:按行主序则第1行有1个元素,第2行有2个元素,...第i-1行有i-1个元素,第i行有i个元素,对应数组B[1...n(n+1)/2]的位置即为这些元素的个数i(i-1)/2+j。

更多相关问题