智慧树知到《算法与数据结构》章节测试答案


A.(rear-front+m)%m

B.rear-front+1

C.rear-front-1

D.rear-front

正确答案:(rear-front+m)%m

6、一个顺序栈S,其栈顶指针为top,则将元素e入栈的操作是()。(注:top指向待插入位置)

A.*S->top=e;S->top++

B.S->top++;*S->top=e

C.*S->top=e

D.S->top=e

正确答案:*S->top=e;S->top++

7、在解决计算机主机和打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取走数据打印。该缓冲区应该是一个()结构。

A.堆栈

B.队列

C.数组

D.线性表

正确答案:队列

8、当用大小为N的数组存储顺序循环队列时,该队列的最大长度为()。

A.N

B.N+1

C.N-1

D.N-2

正确答案:N-1

9、依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是()。

A.a

B.b

C.c

D.d

正确答案:c

10、向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行()。(不带空的头结点)

A.HS->next=s

B.s->next= HS->next; HS->next=s

C.s->next= HS; HS= HS->next

D.s->next= HS; HS=s

正确答案:s->next= HS; HS=s

第四章单元测试

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

A.13

B.33

C.18

D.40

正确答案:33

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

A.BA+141

B.BA+180

C.BA+222

D.BA+225

正确答案:BA+180

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

A.198

B.195

C.197

D.193

正确答案:195

4、二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素()的起始地址相同。设每个字符占一个字节

A.8

B.5

C.3

D.10

正确答案:5

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

A.(i-1)*n+j

B.(i-1)*n+j-1

C.i*(j-1)

D.j*m+i-1

正确答案:(i-1)*n+j

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

A.60

B.66

C.18000

D.33

正确答案:66

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