设有n阶对称矩阵A,用数组s进行压缩存储,当i≥j时,A的数组元

题目

设有n阶对称矩阵A,用数组s进行压缩存储,当i≥j时,A的数组元素aij相应于数组s的数组元素的下标为()。(数组元素的下标从1开始)

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

第1题:

采用一维数组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]中。

A.

B.

C.

D.


正确答案:D
解析:本题考查特殊矩阵的压缩存储。对称矩阵下三角的元素如下图所示,按行存储时,对于元素A[i][j],存储在其前面的元素数目为1+2+…+i-1+j-1=i(i-1)/2+j-1,因此元素A[i][j]存储在S[i(i-1)/2+j]中。

第2题:

设下三角矩阵A:

如果以行序为主序将A的非零元素存储在一维数组B[n(n+1)/2]中,那么A的第i行第j列的非零元素aij(i≥j)在数组B中的下标为______。


正确答案: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对应的下标为。

第3题:

●已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是 (37) 。

(37) A.T[i+j]

B.T[i*n+j]

C.T[i]

D.T[i-1]


正确答案:D
【解析】由题可知,除第0行外,每一行只存储一个元素,因此i行应存放在T[i-1]之中。

第4题:

一个n阶对称矩阵A采用一维数组S以行为主序存放其下三角各元素,设元素 A[i][j]存放在S[k]中,且S[1]=A[1][1],则k与i、j的对应关系是(16)。

A.

B.

C.

D.


正确答案:D

第5题:

设有如下所示的下三角矩阵A[0..8,0..8],将该三角矩阵的非零元素(即行下标不小于列下标的所有元素)按行优先压缩存储在数组M[1..m]中,则元素A[i,j](0≤i≤8,j≤i)存储在数组M的(58)中。

A.

B.

C.

D.


正确答案:A
解析:本题中注意M数组从1开始,A[i,j]前有i行,元素个数分别为1,2,3……i共i*(i+1)/2个,加上A[i,0],A[i,1],……A[i,j]共j+1个,总计i*(i+1)/2+j+l。对应关系:M[1]-A[0,0],M[2]-A[1,0],……M[i*(i+1)/2+j+1]-A[i,j]。

第6题:

设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主存储到一维数组B中(数组下标从1开始),则矩阵中元素A8.5在一维数组B中的下标是()。

A.33

B.32

C.85

D.41


参考答案A

第7题:

● 采用一维数组 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

第8题:

将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()

A.100

B.40

C.55

D.80


正确答案:C

第9题:

●设下三角矩阵(上三角部分的元素值都为 0)A[0..n,0..n]如下所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[ ]中(下标从1 开始),则元素 A[I,j](O≤i≤n,j≤i)存储在数组M 的 (57) 中。


正确答案:A
试题(57)分析本题考查数组存储的基础知识。按行方式存储时,元素A[i,j]之前的元素个数为(1+2+…+i+j),由于数组M的下标从1开始,因此,存储A[i,j]的是M[1+2+…+i+j+1],即M[i(i+1)/2+j+1]。参考答案(57)A

第10题:

已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是(37)。

A.T[i+j]

B.T[i*n+j]

C.T[i]

D.T[i-1]


正确答案:D
解析:由题可知,除第0行外,每一行只存储一个元素,因此i行应存放在T[i-1]之中。

更多相关问题