数组及其他线性结构.docx

上传人:b****7 文档编号:25692926 上传时间:2023-06-11 格式:DOCX 页数:12 大小:102.75KB
下载 相关 举报
数组及其他线性结构.docx_第1页
第1页 / 共12页
数组及其他线性结构.docx_第2页
第2页 / 共12页
数组及其他线性结构.docx_第3页
第3页 / 共12页
数组及其他线性结构.docx_第4页
第4页 / 共12页
数组及其他线性结构.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数组及其他线性结构.docx

《数组及其他线性结构.docx》由会员分享,可在线阅读,更多相关《数组及其他线性结构.docx(12页珍藏版)》请在冰豆网上搜索。

数组及其他线性结构.docx

数组及其他线性结构

数组及其他线性结构

一、单项选择题(共24题)

1.数组A中,每个元素A的长度为3字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。

A.80B.100C.240D.270

答案:

C

2.稀疏矩阵一般的压缩存储方式有两种,即()。

A.三元组和十字链表B.三元组和散列

C.二维数组和三维数组D.散列和十字链表

答案:

A

3.串是一种特殊的线性表,其特殊性体现在串的()。

A.数据元素可以顺序存储B.数据元素是一个字符

C.数据元素可以连接存储D.数据元素可以是多个字符

答案:

B

4.一个数组元素a[i]与()的表示等价。

A.&a+iB.*(a+i)C.*a+iD.a+i

答案:

B

5.二维数组A[12][10]采用行优先存储,每个数据元素占用4个存储单元,该数组的首地址(即A[0][0]的地址)为1200,则A[6][5]的地址为()

A.1400B.1404C.1372D.1460

答案:

D

6.有一个M

N的矩阵A,若采用行优先进行顺序存储,每个元素占用8个字节,则

元素的相对字节地址(相对首元素地址而言)为()

A.

B.

C.

D.

答案:

B

7.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,行下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素()的起始地址相同。

A.M[2][4]B.M[3][4]C.M[3][5]D.M[4][4]

答案:

B

8.有一个N

N的下三角矩阵A,若采用行优先进行顺序存储,每个元素占用k个字节,则

元素的相对字节地址(相对首元素地址而言)为()

A.

B.

C.

D.

答案:

C

9.下列叙述中正确的是()。

A.数据的逻辑结构与存储结构必定是一一对应的

B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构

C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构

D.以上3种说法都不对

答案:

C

10.对数组常进行的两种基本操作是()。

A.建立与删除B.索引与修改C.查找和修改D.查找与索引

答案:

C

11.以下()是C语言中"abcd321ABCD"的子串。

A.abcdB.321ABC."abcABC"D."21AB"

答案:

D

12.若串S="software",其子串的数目是()。

A.8B.37C.36D.9

答案:

C

13.将一个A[1:

100,1:

100]的三对角矩阵,按行优先存入一维数组B[1:

298]中,A中元素A66,65(即该元素的下标)在B数组中位置k为()。

A.198B.195C.197D.196

答案:

B

14.二维数组Amn按行序为主顺序存放在内存中,每个数组元素占1个存储单元,则元素aij的地址计算公式是()。

A.LOC(aij)=LOC(a11)+[(i-1)*m+(j-1)]

B.LOC(aij)=LOC(a11)+[(j-1)*m+(i-1)]

C.LOC(aij)=LOC(a11)+[(i-1)*n+(j-1)]

D.LOC(aij)=LOC(a11)+[(j-1)*n+(i-1)]

答案:

C

15.串是一种特殊的线性表,其特殊性体现在()。

A.可以顺序存储B.数据元素是一个字符

C.可以链接存储D.数据元素可以是多个字符

答案:

B

16.设有两个串p和q,求q在p中首次出现的位置的运算称作()。

A.连接B.模式匹配C.求子串D.求串长

答案:

B

17.设串s1="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,I,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(sub(s1,2,len(s2)),sub(s1,len(s2),2))的结果是()。

A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF

答案:

D

18.常对数组进行的两种基本操作是()。

A.建立和删除B.索引和修改C.查找和修改D.索引和查找

答案:

C

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

A.二维数组和三维数组B.三元组和散列

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

答案:

C

20.设串s1="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是:

()

A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF

答案:

D

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

(无第0行第0列元素)

A.16902B.16904C.14454D.答案A,B,C均不对

答案:

A

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

()

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

答案:

B

23.从供选择的答案中,选出应填入下面叙述?

内的最确切的解答,把相应编号写在答卷的对应栏内。

有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字节存储。

存储器按字节编址。

假设存储数组元素A[0,1]的第一个字节的地址是0。

存储数组A的最后一个元素的第一个字节的地址是(

(1))。

若按行存储,则A[3,5]和A[5,3]的第一个字节的地址分别是(

(2))和((3))。

若按列存储,则A[7,1]和A[2,4]的第一个字节的地址分别是((4))和((5))。

A.28B.44C.76D.92

E.108F.116G.132H.176

I.184J.188

答案:

HCEAF

24.从供选择的答案中,选出应填入下面叙述?

内的最确切的解答,把相应编号写在答卷的对应栏内。

有一个二维数组A,行下标的范围是1到6,列下标的范围是0到7,每个数组元素用相邻的6个字节存储,存储器按字节编址。

那么,这个数组的体积是(

(1))个字节。

假设存储数组元素A[1,0]的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是(

(2))。

若按行存储,则A[2,4]的第一个字节的地址是((3))。

若按列存储,则A[5,7]的第一个字节的地址是((4))。

A.12B.66C.72D.96

E.114F.120G.156H.234

I.276J.282K.283L.288

答案:

LJBI

二、填空题(共10题)

1.空串是(),其长度等于()。

空格串是(),其长度()。

答案:

零个字符的串0仅由空格组成的串大于0

2.在二维数组a[10,20]中,每个元素占用8个存储单元,假定该数组的首地址为2000,则数组元素a[6,15]的字节地址为()。

答案:

3080

3.有一个10

10的下三角矩阵A,若将其进行顺序存储于一维数组a[N]中,则

存储于a中的下标位置为()。

答案:

4.一个稀疏矩阵有10个非零元素,矩阵元素为整型数据(每个元素占4字节)。

现用三元组对其进行压缩存储,则该稀疏矩阵中的元素占用()个存储单元。

答案:

120

5.二维数组S的元素是6个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0~4,列下标j的范围从0~5,S按行存储时元素S[3][5]的起始地址是(),S按列存储时元素S[2][4]的起始地址是()。

设S[0][0]的起始地址为0。

答案:

138132

6.设n行n列的下三角矩阵A已压缩到一维数组S[1..n×(n+1)/2〕中,若按行序为主存储,则A[i][j](1≥j)对应的S的存储位置是()。

答案:

i×(i+1)/2+j

7.有一个10阶对称矩阵A,采用压缩存储方式(以行序为主存储,且A[0][0]=1),则A[8][5]的地址是().

答案:

42

8.两个串相等的充分必要条件是()。

答案:

两个串的长度相等且对应位置的字符相同

9.数组Q[n]用来表示一个循环队列,f为队首指针,r为队尾指针。

假设队列中元素的个数小于n,则计算队列中元素个数的公式为()。

答案:

(n+r-f)%n

10.数据的存储结构可用4种基本的存储方法表示,它们分别是()、()、()和()。

答案:

顺序链式索引散列

三、简答题(共7题)

1.假定用一维数组a[7]顺序存储一个循环队列,队首和队尾指针分别用front和rear表示,当前队列中已有5个元素;23,45,67,80,34,其中23为队首元素,front的值为3,请画出对应的存储状态,当连续进行4次出队运算后,再让15,36,48元素依次进队,请再次画出对应的存储状态。

答案:

两次对应的存储状态分别为:

2.用三元组线性表表示如下稀疏矩阵:

答案:

三元组线性表中的每个结点对应于稀疏矩阵的一个非零元素,它包含3个数据项,分别表示该元素的行下标、列下标和元素值。

另外,三元组线性表的表头存储矩阵中的行数、列数和非零元素个数。

6

6

4

0

3

2

1

0

1

2

2

4

4

4

3

3.设A[n][n]为一个上三角矩阵,将A中所有非零元素按列序顺次存入一维数组B中,则A与B元素的对应关系是什么?

【解答】上三角矩阵如下所示

其数据元素满足Aij=0,对所有的i>j

上三角矩阵正好是一个下三角矩阵的转秩,我们知道,一个下三角矩阵按行压缩存储时,矩阵元素与一维数组的对应关系为

A[i][j]B[i*(i+1)/2+j],对所有的i>j;

因此,下三角矩阵按列序存储在一维数组中的元素对应关系为

A[i][j]B[j*(j+1)/2+i],对所有的i

4.用三元组表表示下面稀疏矩阵:

答案:

5.用三元组表表示下面稀疏矩阵:

答案:

6.下面三元组表表示一个稀疏矩阵,试写出其对应的稀疏矩阵。

答案:

7.下面三元组表表示一个稀疏矩阵,试写出其对应的稀疏矩阵。

答案:

四、应用题(共2题)

1.设有数组a[4][4],按行存储数组中元素,编写函数求两条对角线元素和的乘积。

答案:

数组a[4][4]中一条对角线是a[i][i],另一条对角线则是a[4-i][i],因此用循环将两条对角线的元素分别相加,再计算乘积。

算法源代码如下:

intfun_Mult(inta[4][4])

{

inti,s=1,sum1=0,sum2=0;

for(i=0;i<4;i++)

{

sum1=sum1+a[i][i];

sum2=sum2*a[4-i][i];

}

s=sum1*sum2;

return(s);

}

2.若x和y是两个采用顺序结构存储的串,编写函数比较两个串是否相等。

答案:

两个串相等表示对应的字符都相等,因此函数依次扫描两个串,并逐一比较相应位置的字符,若相同继续比较直到全部比较完毕,如果都相同则表示两串相同,否则表示两串不相等。

算法源代码如下:

intsameStr(charx[],chary[])

{

inti=0,tag=1;

if(strlen(x)!

=strlen(y))

return(0);

else

{

while(i

{

if(x[i]!

=y[i])

tag=0;

i++;

}

return(tag);

}

}

 

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

当前位置:首页 > 成人教育 > 成考

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

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