数据结构复习题答案.docx

上传人:b****1 文档编号:18082710 上传时间:2023-04-24 格式:DOCX 页数:7 大小:19KB
下载 相关 举报
数据结构复习题答案.docx_第1页
第1页 / 共7页
数据结构复习题答案.docx_第2页
第2页 / 共7页
数据结构复习题答案.docx_第3页
第3页 / 共7页
数据结构复习题答案.docx_第4页
第4页 / 共7页
数据结构复习题答案.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

数据结构复习题答案.docx

《数据结构复习题答案.docx》由会员分享,可在线阅读,更多相关《数据结构复习题答案.docx(7页珍藏版)》请在冰豆网上搜索。

数据结构复习题答案.docx

数据结构复习题答案

Companynumber【1089WT-1898YT-1W8CB-9UUT-92108】

 

数据结构复习题答案

第5章数组与广义表

一、选择题(每小题1分,共10分)

1.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(A)。

.108C

2.在数组A中,每一个数组元素A[i][j]占用3个存储字节,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字节数是(C)。

.100C

3.假设有60行70列的二维数组a[1…60,1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为(C)。

(无第0行第0列元素)

.16904CD.答案A,B,C均不对

4.将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为(A)。

A.198B.195C.197

5.数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是(A)。

A.1175B.1180C.1205D.1210

6.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=(B)。

A.808B.818C.1010D.1020

7.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为(B)。

A.BA+141B.BA+180C.BA+222D.BA+225

8.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(B)。

A、13B、33C、18D、40

9.二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。

若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素(B)的起始地址相同。

设每个字符占一个字节。

A、A[8,5]B、A[3,10]C、A[5,8]D、A[0,9]

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

A、i*(i-1)/2+jB、j*(j-1)/2+IC、i*(i+1)/2+jD、j*(j+1)/2+i

11.对稀疏矩阵进行压缩存储目的是(C)。

A、便于进行矩阵运算B、便于输入和输出

C、节省存储空间D、降低运算的时间复杂度

12.数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为(A)。

A、j=r[j].nextB、j=j+1C、j=j->nextD、j=r[j]->next

13.数组A[0..4,-3..-1,5..7]中含有元素的个数为(B)。

A、55B、45C、36D、16

14.有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是(B)。

A、60B、66C、18000D、33

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

A、(i-1)*n+jB、(i-1)*n+j-1C、i*(j-1)D、j*m+i-1

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

(i-1)/2+jB.j(j-1)/2+IC.i(j-i)/2+1(i-1)/2+1

17.设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1..n(n+1)/2]中,对上述任一元素aij(1≤i,j≤n,且i≤j)在B中的位置为(B)。

A、i(i-l)/2+jB、j(j-l)/2+IC、j(j-l)/2+i-1D、i(i-l)/2+j-1

18.对于以行为主序的存储结构来说.在数组A[c1..d1,c2..d2]中,c1和d1分别为数组A的第一维下标的下、上界,c2和d2分别为第二维下标的下、上界.每个数据元素占k个存储单元,二维数组中任一元素a[i,j]的存储位置可由(B)确定。

A、Loc[i,j]=[(d2-c2+1)(i-c1)+(j-c2)]×k

B、Loc[i,j]=[Loc[c1,c2]+[(d2-c2+1)(i-c1)+(j-c2)]×k

C、Loc[i,j]=A[c1,c2]+[(d2-c2+1)(i-c1)+(j-c2)]×k

D、Loc[i,j]=Loc[0,0]+[(d2-c2+1)(i-c1)+(j-c2)]×k

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

A、i(i-1)/2+j-lB、i(i-1)/2+jC、i(i+1)/2+j-1D、i(i+1)/2+j

20.稀疏矩阵一般的压缩存储方法有(C)两种。

A、二维数组和三维数组B、三元组和散列表

C、三元组和十字链表D、散列表和十字链表

参考题:

21.数组SZ[-3…5,O…10]含有元素数目为(B)。

A、88B、99C、80D、90

22.二维数组A的每个元素是由6个字符组成的串,其行下标i=0、1、…、8.列下标i=1、2、…、10。

若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素(B)的起始地址相同。

设每个字符占一个字节。

A、A[8,5]B、A[3,10]C、A[5,8]D、A[0,9]

23.设有一个10阶的对称矩阵A,采用压缩破除计方式,以行序为主存储,a1,1为第一个元素,其存储地址为1,每个元素占1个地址空间,则a8,5的地址为(B)。

A、13B、33C、18D、40

24.稀疏矩阵进行压缩存储目的是(C)。

A、便于进行矩阵运算B、便于输入和输出

C、节省存储空间D、降低运算的时间复杂度

25.用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使沿链移动的操作为(A)。

A、j=r[j].nextB、j=j+1C、j=j->nextD、j=r[j]->next

26.数组的基本操作主要包括(C)

A、建立与删除B、索引与修改C、访问与修改D、访问与索引

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

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

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

8.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[8,5]的存储首地址为(B)。

A、BA+141B、BA+180C、BA+222D、BA+225

数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放的存储器内,该数组按行存放,元素A[8][5]的起始地址为C。

A.SA+141B.SA+144C.SA+222D.SA+225

二、判断题(每小题1分,共10分)

1.一个稀疏矩阵Am*n采用三元组形式表示,若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,则就完成了Am*n的转置运算。

(×)

2.二维以上的数组其实是一种特殊的广义表。

(√)

3.数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。

(×)

4.稀疏矩阵压缩存储后,必会失去随机存取功能。

(√)

5.所谓取广义表的表尾就是返回广义表中最后一个元素。

(×)

6.广义表是由零或多个原予或子表所组成的有限序列,所以广义表可能为空表。

(√)

7.广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表。

(×)

8.线性表可以看成是广义表的特例,如果广义表中的每个元素都是原子,则广义表便成为线性表。

(√)

9.若一个广义表的表头为空表,则此广义表亦为空表。

(×)

10.数组元素的下标值越大,存取时间越长。

(×)

11.数组是一种复杂的数据结构:

数组元素之间的关系既不是线性的,也不是树形的(√)

12.从逻辑结构上看,n维数组的每个元素均属于n个向量。

(√)

13.二维数组是其数据元素为线性表的线性表(√)

14.数组是同类型值的集合。

(×)

三、填空题(每空1分,共10分)

1.已知二维数组按“行优先顺序”存储在内存中,a11的存储地址为LOC(a11),则元素aij的存储地址为LOC(aij)=。

(假定每一个元素占2个存储单元,1≤i≤n,1≤j≤m)答案:

Loc(a11)+((i-1)*m+j-1)*2

2.二维数组A[4][4](即A[0..3][0..3])的元素起始地址是loc(A[0][0])=1000,元素的长度为2,则LOC(A[2][2])的地址为。

答案:

1020

3.设有一个二维数组A[10][20],按行存放于一个连续的存储空间中,A[0][0]的存储地址是200,每个数组元素占1个存储字,则A[6][2]的存储字地址是____________。

答案:

322

4.二维数组a[4][5][6](下标从0开始计,a有4*5*6个元素),每个元素的长度是2,则a[2][3][4]的地址是1164。

(设a[0][0][0]的地址是1000,数据以行为主方式存储)

解释:

LOC(aijk)=LOC(a000)+[v2*v3*(i-c1)+v3*(j-c2)+(k-c3)]*l(l为每个元素所占单元数)

5.对矩阵压缩是为了节省存储空间。

6.所谓稀疏矩阵指的是非零元很少(t<

7.设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储:

a11=1),则a85的地址为33。

解释:

(k=i(i-1)/2+j)(1<=i,j<=n)

8.己知三对角矩阵A[1..9,1..9]的每个元素占2个单元,现将其三条对角线上的元素逐行存储在起始地址为1000的连续的内存单元中,则元素A[7,8]的地址为1038。

解释:

三对角矩阵按行存储:

k=2(i-1)+j(1<=i,j<=n)

9.n阶对称矩阵a满足a[i][j]=a[j][i],i,j=1..n,,用一维数组t存储时,t的长度为n(n+1)/2,当i=j,a[i][j]=t[i(i+1)/2(或j(j+1)/2)],i>j,a[i][j]=t[i(i-1)/2+j],i

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

10.设数组A[0..8,1..10],数组中任一元素A[i,j]均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么

(l)存放该数组至少需要的单元数是270;

(2)存放数组的第8列的所有元素至少需要的单元数是27;

(3)数组按列存储时,元素A[5,8]的起始地址是2204。

11.用一维数组B与列优先存放带状矩阵A中的非零元素A[i,j](1≤i≤n,i-2≤j≤i+2),B中的第8个元素是A中的第1行,第3列的元素。

12.设数组a[1..50,1..80]的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45,68]的存储地址为9174;若以列序为主序顺序存储,则元素a[45,68]的存储地址为8788。

13.一维数组的逻辑结构是线性结构,存储结构是顺序结构,对二维或多维数组,分为按以行序为主序和以列为主序两种不同的存储方式。

14.广义表((a))的表头是(a),表尾是()。

15.对于元素是整数(占2个字节)的对称矩阵A,采用以行序为主的压缩存储方式存储

(下三角),若A[0][0]的地址是400,则元素A[8][5]的的存储地址是482。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1