数据结构

设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s6,s5,s1则顺序栈的容量至少应为()。

题目

设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s6,s5,s1则顺序栈的容量至少应为()。

参考答案和解析
正确答案:3
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有栈S和队列Q,其初始状态为空,元素a1、a2、a3、a4、a5、a6依次入栈,出栈的元素则进入队列Q,若6个元素出列的顺序是02、a4、a3、a6、a5、a1,则栈的容量至少要有几个单元?

A.6

B.4

C.3

D.2


正确答案:C
解析:考虑到一个元素在入栈之前,另—个元素可能出栈的情况,再根据出栈,隋况来判断,栈中至少要有3个单元存放最后出栈的a6、a5、a4 3个元素。

第2题:

设栈S初始状态为空。元素a、b、c、d、e、f依次通过栈S,若出栈的顺序为c、f、e、d、b、a,则栈S的容量至少应该为( )。

A.6

B.5

C.4

D.3


正确答案:B
解析:根据题中给定的条件,可做如下模拟操作:①元素a、b、c进栈,栈中有3个元素,分别为a、b、c;②元素c出栈后,元素d、e、f进栈,栈中有5个元素,分别为a、b、d、e、f;③元素f、e、d、a、b出栈,栈为空。可以看出,进栈的顺序为a、b、c、d、e、f,出栈的顺序为c、f、e、d、b、a,满足题中所提出的要求。在每一次进栈操作后,栈中最多有3个元素,因此,为了顺利完成这些操作,栈的容量应至少为5。

第3题:

●设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为 (35) 。

(35) A.2

B.3

C.4

D.5


正确答案:B
【解析】栈的特点是先进后出。根据题中的进出栈顺序,在s6进栈后,栈中元素最多,除了栈顶元素s6外,还有s1和s5。因此顺序栈的容量至少应为3。

第4题:

设有栈S和队列Q,其初始状态为空,元素a1、a2、a3、a4、a5、a6依次入栈,出栈的元素进入队列Q,若6个元素出队列的顺序是a2、a4、a3、a6、a5、a1,则栈的容量至少是______。

A.6

B.4

C.3

D.2


正确答案:C

第5题:

设有栈S和队列Q,其初始状态为空,元素a1、a2、83、a4、85、86依次入栈,出栈的元素则进入队列Q,若6个元素出栈的顺序是g2、a4、83、86、s5、a1,则栈的容量至少是 ( )

A.6

B.4

C.3

D.2


正确答案:C

第6题:

设栈S和队列Q的初始状态为空。元素a、b、c、d、e、f依次通过栈S,并且一个元素出栈后即进入队列Q,若出队的顺序为b、d、c、f、e、a,则栈S的容量至少应该为______。

A.3

B.4

C.5

D.6


正确答案:A
解析:由于队列是先进先出线性表,队列Q的出队顺序为b、d、c、f、e、a,则入队顺序必定也是b、d、c、f、e、a,这一顺序就是栈S的出栈顺序。又由于入栈顺序为a、b、c、d、e、f,因此入栈和出栈顺序是a、b入栈,b出栈,c、d入栈,d、c出栈、e、f入栈,f、e、a出栈,因此栈中驻留元素最多是3个,栈S的容量至少应该为3。

第7题:

一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。则各个状态的条件如下:

S1:(t0)创建栈对象时初始化,这是系统做的

(t1)在S2状态下执行置空运算setEmpty()

(t2)在S3状态下执行置空运算setEmpty()

(t3)在S2状态下执行出栈运算Pop()

S2:(t4)在S1状态下执行进栈运算Push()

(t5)在S3状态下执行出栈运算Pop()

S3:(t6)在S2状态下执行进栈运算Push()

为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。

根据题意,画出栈对象的状态迁移图;


正确答案:根据题意状态转换图如下:
根据题意,状态转换图如下:

第8题:

设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、s5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1则栈S的容量至少应是【 】。


正确答案:大于3
大于3 解析:栈的操作原则”后进先出”,队列的操作原则”先进后山”。出队列顺序即为入队列顺序,而入队列顺序也就是出栈顺序是:e2、 e4、e3、e6、e5、e1。为得到出栈J顷序为e2、 e4、e3、e6、e5、e1。则入栈操作应为e1、e2进栈,e2出栈。(进栈后有e1、e2,出栈后仅有e1)e3、e4进栈,e4、e3出栈。(进栈后有 e1、e3、s4,出栈后仅有e1)e5、e6进栈, e5、c6、e1出栈(进栈后有e1、e5、e6,出栈后为空)。

第9题:

设栈S的初始状态为空。元素a,b,c,d,e,f依次通过栈S,若出栈的顺序为b,d,c,f,e,a,则栈S的容量至少应该为

A.3

B.4

C.5

D.6


正确答案:A
解析:根据题中给定的条件,可以作如下的模拟操作:①元素a,b进栈,栈中有 2个元素,分别为a,b;②元素b出栈后,元素c, d进栈,栈中有3个元素,分别为a,c,d;③元素 d,c出栈后,元素e,f进栈,栈中有3个元素,分别为a,e,f;④最后,元素f,e,a出栈,栈为空。可以看出,进栈的顺序为a,b,c,d,e,f,出栈的顺序为b,d,c,f,e,a,满足题目要求。每次进栈操作后,栈中最多有3个元素,所以,为了顺利完成这些操作,栈的容量应至少为3。本题的正确答案为A。

第10题:

● 进程P1、P2、P3、P4和P5 的前趋图如下:

若用PV操作控制进程P1~P5并发执行的过程,则需要设置 6 个信号量 S1、S2、S3、S4、S5和S6,且信号量S1~S6的初值都等于零。下图中 a和 b 处应分别填写 (23) ;c和d处应分别填写 (24) ,e和f处应分别填写 (25) 。

(23)

A. P(S1) P(S2) 和P(S3) P(S4)

B. P(S1) V(S2) 和P(S2) V(S1)

C. V(S1) V(S2) 和V(S3) V(S4)

D. P(S1) P(S2) 和V(S1) V(S2)

(24)

A. P(S1) P(S2) 和V(S3) V(S4)

B. P(S1) P(S3) 和V(S5) V(S6)

C. V(S1) V(S2) 和P(S3) P(S4)

D. P(S1) V(S3) 和P(S2) V(S4)

(25)

A. P(S3) P(S4) 和V(S5) V(S6)

B. V(S5) V(S6) 和P(S5) P(S6)

C. P(S2) P(S5) 和P(S4) P(S6)

D. P(S4) V(S5) 和P(S5) V(S6)


正确答案:C,B,C

更多相关问题