参考答案和解析
正确答案:D
更多“对稀疏矩阵进行压缩存储,可采用三元组表,一个有10行的稀疏矩阵A共有97个零元素,其相应的三元组表共有3个元素。该矩阵A有()列。A、8B、9C、7D、10”相关问题
  • 第1题:

    阅读以下说明和C函数,将应填入(n)处的字句写在对应栏内。

    [说明]

    若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵。对m行n列的稀疏矩阵M,进行转置运算后得到n行m列的矩阵MT,如图3-1所示

    为了压缩稀疏矩阵的存储空间,用三元组(即元素所在的行号、列号和元素值、表示稀疏矩阵中的一个非零元素,再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表)。例如,图3-1所示的矩阵M相应的三元组顺序表如表3-1所示。其转置矩阵MT的三元组顺序表如表3-2所示。

    函数TransposeMatrix(Matrix M)的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算。

    对M实施转置运算时,为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置,需先计算M中每一列非零元素的数目(即MT中每一行非零元素的数目),并记录在向量num中;然后根据以下关系,计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置:

    cpot[0]=0

    cpot[j]=cpot[j-1]+num[j-1]) /*j为列号*/

    类型ElemType,Triple和Matrix定义如下:

    typedef int ElemType;

    typedef struct{ /*三元组类型*/

    int r,c; /*矩阵元素的行号、列号*/

    ElemType e; /*矩阵元素的值*/

    }Triple;

    typedef struct{ /*矩阵的元组三元组顺序表存储结构*/

    int rows,cols,elements; /*矩阵的行数、列数和非零元素数目*/

    Triple data[MAXSIZE];

    }Matrix;

    [C语言函数]

    int TransposeMatrix(Matrix M)

    {

    int j,q,t;

    int *num, *cpot;

    Matrix MT; /*MT是M的转置矩阵*/

    num=(int*)malloc(M.cols*sizeof(int));

    cpot=(int*)malloc(M.cols*sizeof(int));

    if(!num ||cpot)

    return ERROR;

    MT.rows=(1); /*设置转置矩阵MT行数、列数和非零元素数目*/

    MT.cols=(2);

    MT.elements=M.elements;

    if(M.elements>0){

    for (q=0 ; q<M. cols ; q++)

    num[q]=0;

    for (t=0; t<M.elements;++t) /*计算矩阵M中每一列非零元素数目*/

    num [M.data[t].c]++;

    /*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/

    (3);

    for(j=1;j<M.cols;j++)

    cpot[j]=(4);

    /*以下代码完成转置矩阵MT三元组顺序表元素的设置*/

    for(t=0;t<M.elements;t++){

    j=(5); /*取矩阵M的一个非零元素的列号存入j*/

    /*q为该非零元素在转置矩阵MT三元组顺序表中的位置(下标)*/

    q=cpot[j];

    MT.data[q].r=M.data[t].c;

    MT.data[q].c=M.data[t].r;

    MT.data[q].e=M.data[t].e;

    ++cpot[j]; /*计算M中第j列的下一个非零元素的目的位置*/

    }/*for*/

    } /*if*/

    free(num); free(cpot);

    /*此处输出矩阵元素,代码省略*/

    return OK;

    }/*TransposeMatrix*/


    正确答案:(1)M.cols;(2)M.rows;(3)cpot[0]=0;(4)cpot[j-1]+num[j-1];(5)M.data[t].c
    (1)M.cols;(2)M.rows;(3)cpot[0]=0;(4)cpot[j-1]+num[j-1];(5)M.data[t].c

  • 第2题:

    如下是一个稀疏矩阵的三元组法存储表示和基于此表示所得出的相关叙述行下标列下标值

    Ⅰ.该稀疏矩阵有5行Ⅱ.该稀疏矩阵有4列Ⅲ.该稀疏矩阵有6个非0元素这些叙述中正确的是( )。

    A)仅Ⅰ

    B)Ⅰ和Ⅱ

    C)仅Ⅲ

    D)全部


    正确答案:D
    三元法用一线性表来表示稀疏矩阵。线性表的每个结点对应稀疏矩阵在一个非零元素,每个结点包含3个域,分别为该元素的行下标、列下标和值。结点间的次序按矩阵在行优先顺序排列(跳过零元素)。这个线性表用顺序的方法存储在连续的存储区里。由三元组法的存储表示可以得到其矩阵如下:所以答案是D)选项。

  • 第3题:

    稀疏矩阵是大量元素为0的矩阵。采用三元组法存储时,若有n行三元组,则该稀疏矩阵有____________个非零元素。


    正确答案:
    n【解析】三元组方法存储稀疏矩阵是将稀疏矩阵中所有非零元素列举出来的,因而从三元组的行数就可以知道非零元素的个数。

  • 第4题:

    对稀疏矩阵进行压缩存储,矩阵中每个非零元素所对应的三元组包括该元素的()、()和()三项信息。
    行号;列号;元素值

  • 第5题:

    对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A共有73个零元素,A的右下角元素为6,其相应的三元组表中的第7个元素是()。

    A(10,8,7)

    B(10,8,6)

    C(7,10,8)

    D(7,8,10)


    B

  • 第6题:

    稀疏矩阵中0元素的分布有规律,因此可以采用三元组方法进行压缩存储。


    正确答案:正确

  • 第7题:

    对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有()个零元素。

    • A、8
    • B、72
    • C、74
    • D、10

    正确答案:C

  • 第8题:

    若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算。


    正确答案:错误

  • 第9题:

    稀疏矩阵的三元组中第1列存储的是数组中非零元素所在的()


    正确答案:行数

  • 第10题:

    填空题
    对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A共有38个零元素,其相应的三元组表共有()个元素。

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

  • 第11题:

    单选题
    对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A共有73个零元素,其相应的三元组表共有()个元素。
    A

    8

    B

    80

    C

    7

    D

    10


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

  • 第12题:

    填空题
    对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的三项信息是()、()、()。

    正确答案: 行下标,列下标,数组元素
    解析: 暂无解析

  • 第13题:

    如下是二个稀疏矩阵的三元组法存储表示和相关的叙述

    Ⅰ.该稀疏矩阵有5行

    Ⅱ.该稀疏矩阵有4列

    Ⅲ.该稀疏矩阵有6个非0元素

    这些叙述中那个(些)是正确的?

    A.只有Ⅰ

    B.Ⅰ和Ⅱ

    C.只有Ⅲ

    D.Ⅰ、Ⅱ和Ⅲ


    正确答案:D
    解析:可以按照稀疏矩阵的三元组表示法把它还原成为普通矩阵。看第一列,行号的变化范围是1到5,这说明一共有5行;列号的变化范围是1到4,这说明一共有4列;表中一共提供了6个非零值,所以该矩阵有6个非零元素。对照题干中的三项可知:Ⅰ、Ⅱ和Ⅲ都是正确的。

  • 第14题:

    如下是一个稀疏矩阵的三元组法存储表示和相关的叙述:

    ①该稀疏矩阵有5行

    ②该稀疏矩阵有4列

    ③该稀疏矩阵有6个非0元素

    这些叙述中哪个(些)是正确的? ( )

    A.只有①

    B.①和②

    C.只有③

    D.①、②和③


    正确答案:B

  • 第15题:

    下面的说法中,不正确的是()。

    A.对角矩阵只需存放非零元素即可
    B.稀疏矩阵中值为零的元素较多,因此可以采用三元组表方法存储
    C.稀疏矩阵中大量值为零的元素分布有规律,因此可以采用三元组表方法存储
    D.对称矩阵只需存放包括主对角线元素在内的下(或上)三角的元素即可

    答案:C
    解析:
    稀疏矩阵中大量值为零的元素分布没有规律,因此采用三元组表存储。如果零元素的分布有规律,就没有必要存储非零元素的行号和列号,而需要按其压缩规律找出相应的映象函数。

  • 第16题:

    对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有()个零元素。

    A8

    B10

    C72

    D74


    D

  • 第17题:

    对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的()、()和()三项信息。
    行下标;列下标;非零元素值

  • 第18题:

    使用三元组表存储稀疏矩阵的元素,有时并不能节省存储空间。


    正确答案:正确

  • 第19题:

    对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A共有38个零元素,其相应的三元组表共有()个元素。


    正确答案:4

  • 第20题:

    对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A共有73个零元素,其相应的三元组表共有()个元素。

    • A、8
    • B、80
    • C、7
    • D、10

    正确答案:C

  • 第21题:

    单选题
    对稀疏矩阵进行压缩存储,可采用三元组表,一个有10行的稀疏矩阵A共有97个零元素,其相应的三元组表共有3个元素。该矩阵A有()列。
    A

    8

    B

    9

    C

    7

    D

    10


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

  • 第22题:

    单选题
    对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有()个零元素。
    A

    8

    B

    10

    C

    72

    D

    74


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

  • 第23题:

    填空题
    对稀疏矩阵进行压缩存储,矩阵中每个非零元素所对应的三元组包括该元素的()、()和()三项信息。

    正确答案: 行号,列号,元素值
    解析: 暂无解析