设有 n 阶三对角矩阵 A,即非零元素都位于主对角线以及与主对角线平行且紧邻的两条对角线上,现对该矩阵进行按行压缩存储,若其压储空间用数组 B 表示,A 的元素下标从 0开始,B 的元素下标从 1 开始。已知 A[0,0]存储在 B[1],A[n-1,n-1]存储在 B[3n-2],那么非零元素 A[i,j](0≤ i<n,0≤ j<n,│i-j│≤1)存储在 B( )A.2i+j-1 B.2i+j C.2i+j+1 D.3i-j+1

题目
设有 n 阶三对角矩阵 A,即非零元素都位于主对角线以及与主对角线平行且紧邻的两条对角线上,现对该矩阵进行按行压缩存储,若其压储空间用数组 B 表示,A 的元素下标从 0开始,B 的元素下标从 1 开始。已知 A[0,0]存储在 B[1],A[n-1,n-1]存储在 B[3n-2],那么非零元素 A[i,j](0≤ i<n,0≤ j<n,│i-j│≤1)存储在 B( )

A.2i+j-1
B.2i+j
C.2i+j+1
D.3i-j+1

相似考题
更多“设有 n 阶三对角矩阵 A,即非零元素都位于主对角线以及与主对角线平行且紧邻的两条对角线上,现对该矩阵进行按行压缩存储,若其压储空间用数组 B 表示,A 的元素下标从 0开始,B 的元素下标从 1 开始。已知 A[0,0]存储在 B[1],A[n-1,n-1]存储在 B[3n-2],那么非零元素 A[i,j](0≤ i<n,0≤ j<n,│i-j│≤1)存储在 B( )”相关问题
  • 第1题:

    按行优先顺序存储下三角矩阵A。的非零元素,则计算非零元素aij(下标)(1≤j≤i≤n)的地址的公式为Loc(aij=【 】+i*(i-1)/2+(j-1)。


    正确答案:Loc(a11)
    Loc(a11) 解析:本题考查稀疏矩阵的存储。按行优先顺序存储的下三角矩阵Ann的非零元素,则计算非零元素aij (1≤j≤i≤n)的地址的公式为Loc(aij)=LOC(a11) +i*(i-1)/2+(j-1)。正确答案为Loc(a11)。

  • 第2题:

    已知对称矩阵An*n(Ai,j=Aj,i)的主对角线元素全部为O,若用一维数组B仅存储矩阵A的下三角区域的所有元素(不包括主对角线元素),则数组B的大小为( )。

    A.n(n-1)

    B.n2/2

    C.n(n-1)/2

    D.n(n+1)/2


    正确答案:C
    解析:以4阶对称矩阵为例说明。如果一个4阶对称矩阵及其下三角区域分别如下图所示,那么它的下三角区域(不包括对角线)的元素个数为1+2+3。

    依此类推,对于n阶对称矩阵,其下三角区域的元素个数为l+2+3+…n-1。

  • 第3题:

    将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中, A[0][0]存放于B[0]中。对于任意给定数组元素A[i][j],它应是数组A中第______行的元素。


    正确答案:2i+j-3
    2i+j-3 解析:在三对角矩阵中,按行压缩存储,其转换公式为k=2i+j-3。

  • 第4题:

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

  • 第5题:

    ●设下三角矩阵(上三角部分的元素值都为 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

  • 第6题:

    已知有二维数组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]之中。

  • 第7题:

    A[N,N]是对称矩阵,将下三角(包括对角线)以行序存储到一维数组T[N(N+l)/2]q中,则对任一上三角元素A[i][j]对应T[k]的下标k是()。

    A.i(1-1)/2+j
    B.j(j-1)/2+i
    C.i(j-i)/2+1
    D.j(1-1)/2+1

    答案:B
    解析:
    将对称矩阵A[N,N]下三角以行序存储到一维数组T[N(N+1)/2]中。对应的A[i][j]啪与T[k]的下标k的关系为k=i(i-1)/2+j;但题目中是求任一上三角元素A[i][j]对应T[k]的下标k,在对称矩阵中A[i][D]=A[i][i],即上三角中的元素的A[i][j]存储位置对应下三角A[i][j]的存储位置,所以k=j(j-1)/2+i。

  • 第8题:

    设数组a[0..n-1,0..m-1](n>0,m>0)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](0≤i≤n-1,0≤j≤m-1)相对于数组空间首地址的偏移量为( )。

    A.i*m+j
    B.(i-1)*n+j-1
    C.j*n+i
    D.(j-1)*n+i-1

    答案:C
    解析:
    数组a[0..n-1,0..m-1](n>0,m>0)表示有n行m列,数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,该元素之前有j列完整(因为首列编号为0)的元素,每一列n个元素,在第j列之前有i个元素(因为首行编号为0),所以偏移量为j*n+i。

  • 第9题:

    设有 n 阶三对角矩阵A,即非零元素都位于主对角线以及与主对角线平行且紧邻的两条对 角线上,现对该矩阵进行按行压缩存储,若其压储空间用数组 B 表示,A 的元素下标从 0 开 始,B 的元素下标从 1 开始。已知 A[0,0]存储在 B[1],A[n-1,n-1]存储在 B[3n-2],那么非零元素 A[i,j](0≤i
    A.2i+j-1
    B.2i+j
    C.2i+j+1
    D.3i-j+1

    答案:C
    解析:
    三对角矩阵如下



    将i=0,j=0与1=n-1,j=n-1分别带入选项中,可得选项C。

  • 第10题:

    若一个n阶矩阵A中的元素满足:Aij=Aji(0<=I,j<=n-1)则称A为()矩阵;若主对角线上方(或下方)的所有元素均为零时,称该矩阵为()。


    正确答案:上;三角矩阵

  • 第11题:

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


    正确答案:i(i-1)/2+j

  • 第12题:

    填空题
    若一个n阶矩阵A中的元素满足:Aij=Aji(0<=I,j<=n-1)则称A为()矩阵;若主对角线上方(或下方)的所有元素均为零时,称该矩阵为()。

    正确答案: 上,三角矩阵
    解析: 暂无解析

  • 第13题:

    设下三角矩阵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对应的下标为。

  • 第14题:

    在一个堆的顺序存储中,若一个元素的下标为i(0≤i≤n-1),则它的左孩子元素的下标为【 】。


    正确答案:2i+1
    2i+1 解析:堆的顺序存储是从0开始的,所以其左孩子的元素下标为2i+k,右孩子元素的下标为2i+2。

  • 第15题:

    ● 下三角矩阵A[0..8,0..8]如下所示,若将其下三角元素(即行下标不小于列下标的所有元素)按列 列列 列压缩存储在数组M[0..m]中,即A[0,0]存储在M[0]、A[1,0]存储在M[1]、A[2,0]存储在M[2],…,A[8,8]存储在M[44],则元素A[5,5]存储在 (37) 。若将其下三角元素按行 行行 行压缩存储在数组 M[0..m]中,即 A[0,0]存储在 M[0]、A[1,0]存储在 M[1]、A[1,1]存储在M[2],…,A[8,8]存储在M[44],则元素A[5,5]存储在 (38) 。


    正确答案:C,B

  • 第16题:

    设有如下所示的下三角矩阵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]。

  • 第17题:

    设数组a[0..m,1..n]的每个元素占用1个存储单元,若元素按行存储,则数组元素a[i,j](0≤i≤m,1≤j≤n)相对于数组空间首地址的偏移量为( )。

    A.(i+1)*n+j

    B.i*n+j-l

    C.i*m+j

    D.i*(m+1)+j-1


    正确答案:B
    解析:因为是按行存储,所以是i×n,又因为列是从1开始,所以是j-1。最终答案为i*n+j-l。

  • 第18题:

    设有一个m行n列的矩阵存储在二维数组A[1..M,1..n]中,将数组元素按行排列,对于A[i,j](1≤i≤m,l≤j≤n),排列在其前面的元素个数为( )。

    A.i*(n-1)+jB.(i-1)*n+J-1C.i*(m-l)+jD.(i-1)*m+J-1


    正确答案:B

  • 第19题:

    设有一个m行n列的矩阵存储在二维数组A[1..M,1..n]中,将数组元素按行排列,对于A[i,j](1≤i≤m,l≤j≤n),排列在其前面的元素个数为( ).

    A.i*(n-1)+j
    B.(i-1)*n+J-1
    C.i*(m-l)+j
    D.(i-1)*m+J-1

    答案:B
    解析:
    本题考查数据结构基础知识。二维数组A[1..m,1.n]如下所示。



    对于元素A[i,j],其之前有i-1行、每行n个元素,在第i行上,A[i,j]之前有j-1个元素,因此,按行排列时,A[i,j]之前共有(i-1)*n+j-1个元素。

  • 第20题:

    某n阶的三对角矩阵A如下图所示,按行将元素存储在一堆数组M中,设A1,1存储在M[1],那么ai,j(I<=i,j<=n且ai,j位于三条对角线中),存储在M( )


    A.i+2j
    B.2i+j
    C.i+2j-2
    D.2i+j-2

    答案:D
    解析:
    这类题型可以直接用实例来排除错误选项。a11存在M[1],将i=1,j=1带入选项,A,B不正确。然后根据题干描述按行存储,下一元素应该是a12,存放在M[2]中,将i=1,j=2带入选项,只有D选项符合题意

  • 第21题:

    设某n阶三对角矩阵Anxn的示意图如下图所示。若将该三对角矩阵的非零元素按行存储在一维数组B[k](1≤k≤3*n-2)中,则k与i、j的对应关系是( )。

    A.k=2i+j-2
    B.k=2i-j+2
    C.k=3i+j-1
    D.K=3i-j+2

    答案:A
    解析:
    本题考查数据结构基础知识。解答该问题需先计算排列在Ai,j之前的元素个数。在按行存储方式下,存储在Ai,j之前的元素分为i-1行,除第1行外,每行3个元素。在第i行上,Ai,j之前的元素个数分为三种情况:i>j时为0个,i=j时有1个,i < j时为2个,概括为j-i+1个。综上,排列在Ai,j之前的元素个数为(i-1)×3-1+j-i+1,即2i+j-3。由于数组B的下标从1开始,所以k=2i+j-3+1。

  • 第22题:

    A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[i][j]对应T[k]的下标k是()。

    • A、i(i+1)/2+j
    • B、j(j+1)/2+i
    • C、i(j-i)/2+1
    • D、j(i-1)/2+1

    正确答案:B

  • 第23题:

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

    正确答案: i(i-1)/2+j
    解析: 暂无解析