对于一个n阶的对称矩阵A,将其下三角区域(含主对角线)的元素按行存储在一维数组中,设元素A[i][y]存放在S[k]中,且S[i]=A[o][o],则R与i ,y(iA.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

题目
对于一个n阶的对称矩阵A,将其下三角区域(含主对角线)的元素按行存储在一维数组中,设元素A[i][y]存放在S[k]中,且S[i]=A[o][o],则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
解析:
这道题可以将“S[1]=A[0][0]”这个条件带入四个选项中,只有选项B符合要求。
更多“对于一个n阶的对称矩阵A,将其下三角区域(含主对角线)的元素按行存储在一维数组中,设元素A[i][y]存放在S[k]中,且S[i]=A[o][o],则R与i ,y(i<=y)的对应关系是 ”相关问题
  • 第1题:

    阅读下列函数说明和C代码,填入(n)处。

    [说明]

    以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:

    7 6 5 16

    8 1 4 15

    9 2 3 14

    10 11 12 13

    程序的变量说明如下:

    x1:矩阵上边界;

    x2:矩阵下边界;

    y1:矩阵左边界;

    y2:矩阵右边界;

    s:数组元素升降标记,s等于1为升,s等于-1为降;

    a[]:存放矩阵元素的数组。

    仔细阅读C语言程序源码,将(n)处的语句补充完整。(注:每处仅一个语句)

    [C程序]

    include<stdio.h>

    void main ( )

    {

    const int N=20;

    int i=0,j=0,a[N][N],n;

    int m,x1,x2,y1,y2,s;

    while (1)

    {

    Printf ("\ninput matrix row N( N>=2): ");

    scanf ("%d",&n);

    printf ("\n");

    if (n>=2)

    break;

    }

    m=n*n;

    x1=0; y1=0; x2=n; y2=n;

    if(n%2==0)

    {j=n-1; y2=n-1; s=1;}

    else

    {i=n-1; y1=1; s=-1; }

    while (1)

    {

    if (s==1)

    {

    for (i; i<x2; i++) a[i][j]=m--;

    i--;

    j--;

    (1)

    for (j;j>=y1;j--) a[i][j]=m--;

    j++;

    i--;

    y1++;

    (2)

    }

    else

    {

    for (i;i>=x1;i--)

    a[i][j]=m--;

    i++;

    j++;

    (3)

    for (j;j<y2;j++)

    (4)

    (5)

    i++;

    (6)

    S=i;

    }

    if (m<1) break;

    }

    for (i=O;i<n; i++)

    {

    for (j=O;j<n;j++)

    printf ("%6d",a[i][j]);

    printf ("\n");

    }

    printf ("\n");

    }


    正确答案:(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--;
    (1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--; 解析:自然数排列的回旋矩阵是一个经典程序设计题目。本题中生成的是一个从里到外是连续的自然数排列的回旋矩阵。仔细阅读代码,能够发现(1)处应该为矩阵下边界递减;(2)处应该为数组元素递减状态,即为降;(3)处应该为矩阵上边界递增;(4)处应该为存放矩阵元素的数组中的数据递减;(5)处应该为数组元素的列序号递减,即j--;(6)矩阵右边界递减。

  • 第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题:

    设矩阵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

  • 第4题:

    对于一个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

  • 第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题:

    设有 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

    答案:C
    解析:

  • 第7题:

    设某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。

  • 第8题:

    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

  • 第9题:

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


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

  • 第10题:

    单选题
    设有一个12阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中(矩阵A的第一个元素为a1,1,数组b的下标从1开始),则矩阵A中第4行的元素在数组b中的下标i一定有()。
    A

    7≤i≤10

    B

    11≤i≤15

    C

    9≤i≤14

    D

    6≤i≤9


    正确答案: C
    解析: 暂无解析

  • 第11题:

    单选题
    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


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    设矩阵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


    正确答案: D
    解析: 暂无解析

  • 第13题:

    一个nxn的对称矩阵A,将其下三角部分按行存放在一个一维数组B中。 A[0][0]存放于B[O]中,那么第i行的对角元素A[i][i]存放于B中(50)处。

    A.(i+3)*i/2

    B.(i+1)*i/2

    C.(2n-i+1)*i/2

    D.(2n-i-1)*i/2


    正确答案:A
    解析:任意一个元素A[i][i]在B中的位置为:1+2+3+…+i+i+1-1=i*(i+1)/2+i=(i+3)*i/2。

  • 第14题:

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


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

  • 第15题:

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

  • 第16题:

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

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

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

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

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


    正确答案:B
    解析:aij元素处在第i行第j列位置。上i-1行的元素个数为(1+i-1)(i-1)/2= j(i-1)/2。再加上在i行的i个元素,总共是i(i-1)/2+j

  • 第17题:

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

    A.

    B.

    C.

    D.


    正确答案:D

  • 第18题:

    已知有一维数组A[0.m×n-1],若要对应为m行n列的矩阵,则下面的对应关系(),可将元素A[k](O≤<k≤<m×n)表示成矩阵的第i行、第j列的元素(0≤i≤m,0匀≤n)。

    A. i=k/n,j=k%m
    B.i=k/m,j=k%m
    C.i=k/n,j=k%n
    D.i=k/m,j=k%n

    答案:C
    解析:
    矩阵每一行有n个元素,则第i+l行、第j+l到的元素~在A中是第n×i+j+l个元素,对应的下标k=nXi+j(因为下标从0开始)。反过来:i=k/n,j=k%n。

  • 第19题:

    设矩阵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

  • 第20题:

    设有一个12阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中(矩阵A的第一个元素为a1,1,数组b的下标从1开始),则矩阵A中第4行的元素在数组b中的下标i一定有()。

    • A、7≤i≤10
    • B、11≤i≤15
    • C、9≤i≤14
    • D、6≤i≤9

    正确答案:A

  • 第21题:

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

    • 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

  • 第22题:

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

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

  • 第23题:

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

    i*(i-1)/2+j

    B

    j*(j-1)/2+i

    C

    i*(i+1)/2+j

    D

    j*(j+1)/2+i


    正确答案: C
    解析: 暂无解析