2020 知到智慧树玩转数据,大话结构答案
第一章 单元测试
1、若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现在()种情况。
A:2,3,5,4,1
B:5,4,3,2,1
C:2,1,5,4,3
D:4,3,1,2,5
正确答案:【4,3,1,2,5】
2、若已知一个栈的入栈序列是1,2,3,…,m,其输出序列为p,P2,p,…,pn,若p1=n,则p为()
A:n-i+1
B:不确定
C:n-1
D:i
正确答案:【n-i+1】
3、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()
A:(n+f-r)%1
B:n+r-f
C: r-f
D:(n+f-r)%n
正确答案:【(n+f-r)%n】
4、链式栈结点为(data,link),top指向栈顶,若想删除栈顶结点,并将删除结点的值保存到x中,则应执行操作()
A:x-top->data; top=top->link;
B:top=top->link; x-top->link;
C:x=top->link;
D:x=top: top=top->link
正确答案:【x-top->data; top=top->link;】
第二章 单元测试
1、为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是()
A:栈
B:队列
C:线性表
D:有序表
正确答案:【队列】
2、设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次进入栈S,一个元素出后即进入Q,若6个元素出队的序列是e2,e4,e3,c6,e5和el,则栈S的容量至少应该是()。
A:4
B:2
C:3
D:6
正确答案:【3】
3、若一个栈以向量V[1,…,n]存储,初始栈顶指针top设为n+1,则元素x进栈的正确操作是()
A:V[top]=x;top++;
B:top++,V[top]=x;
C:V[top]=x;top–;
D:top–,V[top]=x;
正确答案:【top–,V[top]=x;】
4、设计一个判别表达式中左、右括号是否配对出现的算法,采用()数据结构最佳。
A:栈
B:线性表的顺序存储结构
C:队列
D:线性表的链式存储结构
正确答案:【栈】
5、用链接方式存储的队列,在进行删除运算时()
A:头、尾指针可能都要修改
B:头、尾指针都要修改
C:仅修改头指针
D:仅修改尾指针
正确答案:【头、尾指针可能都要修改】
6、循环队列存储在数组A[0,…,m]中,则人队时的操作为()
A:rear=rear+1
B:rear(rear+1)%(m+1)
C:rear=(rear+1)%(m-1)
D:rear(rear+1)%m
正确答案:【rear(rear+1)%(m+1)】
7、最大容量为n的循环队列,队尾指针是rear,队头是 front,则队空的条件是()
A:(rear-)%n==front
B:rear==front
C:(rear+1)%n=front
D:rear+1==front
正确答案:【rear==front】
8、栈和队列的共同点是()。
A:没有共同点
B:都是先进后出
C:都是先进先出
D:只允许在端点处插入和删除元素
正确答案:【只允许在端点处插入和删除元素】
9、一个递归算法必须包括()
A:终止条件和递归部分
B:终止条件和迭代部分
C:递归部分
D:选代部分
正确答案:【终止条件和递归部分】
10、设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是()
A:3
B:1
C:4
D:2
正确答案:【3】
11、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能得到的出栈序列是()
A:d, c, e, b, f, a
B:c, b, d, a, e, f
C:a, f, e, d, c, b
D:b, c, a, e, f, d
正确答案:【a, f, e, d, c, b】
12、某队列允许在其两端进行入队操作,但仅允许在素a,b,c,d,e依次入此队列后再进行出队操作,则不可能得到的出对序列是()
A:e,c,b,a,d
B:d,b,c,a,e
C:d,b,a,c,e
D:b,a,c,d,e
正确答案:【d,b,c,a,e】
13、元素a,b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是()
A:6
B:5
C:4
D:3
正确答案:【4】
14、已知循环队列存储在一维数组A[0…n-1]中,且队列非空时font和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[O]处,则初始时 front和rear的值分别是()
A:n-1,n-1
B:n-1,0
C:0,n-1