题目内容
(请给出正确答案)
[主观题]
假设以S和X分别表示入栈和出栈的操作,则初态和终态均为空栈的入栈和出栈的操作序列可以表示为
仅由S和X组成的序列。称可以操作的序列为合法序列(例如, SXS X为合法序列, S XXS为非法序列)。试给出区分给定序列为合法序列或非法序列的一般准则,并证明:两个不同的合法(栈操作)序列(对同一输入序列)不可能得到相同的输出元素(注意:在此指的是元素实体,而不是值)序列。
查看答案
如果结果不匹配,请 联系老师 获取答案
A.b,C,e,d,a
B.b,e,c,a,d
C.e,c,b,d,a
D.C,e,b,a,d
假设如题3.1所属火车调度站的入口处有n节硬席或软席车厢(分别以H和S表示)等待调度,试编写算法,输出对这n节车厢进行调度的操作(即入栈或出栈操作)序列,以使所有的软席车厢都被调整到硬席车厢之前。
A、n个元素进入一个栈后,它们的出栈顺序一定与进栈顺序相反
B、若一个栈的存储空间为S[n],则对栈的进栈和出栈操作最多只能执行n次
C、栈是一种对进栈、出栈操作的次序做了限制的线性表
D、空栈没有栈顶指针
若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为 _______。
A.4
B.5
C.6
D.7
有一字符序列abcde依次按照某一线性结构存储,请回答以下问题:
(1)、如果该线性结构是队列,那么,写出出队序列。
(2)、如果该线性结构是栈,那么,输出序列可能是d,c,e,a,b吗,为什么?
(3)、如果该线性结构是栈,且输出序列是abcde。请写出操作过程。(push(x):表示把x压入栈内;pop(x):表示把x弹出栈)