试题详情
- 简答题设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题: (1)若入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈) (2)能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。 (3)请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。
- (1)出栈序列为:1324
(2)不能得到1423序列。因为要得到14的出栈序列,则应做
Push(1),Pop(),Push(2),Push(3),Push(4),Pop()。这样,3在栈顶,2在栈底,所以不能得到23的出栈序列。能得到1432的出栈序列。具体操作为:Push(1),Pop(),Push(2),Push(3),Push(4),Pop(),Pop(),Pop()。
(3)在1,2,3,4的24种排列中,可通过相应入出栈操作得到的序列是:1234,1243,1324,1342,1432,2134,2143,2314,2341,2431,3214,3241,3421,4321
不能得到的序列是:
1423,2413,3124,3142,3412,4123,4132,4213,4231,4312 关注下方微信公众号,在线模考后查看
热门试题
- 用循环链表表示的队列长度为n,若只设头指
- 对于栈操作数据的原则是()。
- 一棵有18个叶结点的哈夫曼树,则该树共有
- 邻接表只能用于有向图的存储,邻接矩阵对于
- 对于一棵具有n个结点的任何二叉树,进行前
- 若一棵满二叉树含有121个结点,则该树的
- 表长为n的顺序存储的线性表,当在任意位置
- 二叉查找树的查找效率与二叉树的()有关,
- 设单链表中结点结构为(data,link
- 设计一个判别表达式中左,右括号是否配对出
- 使用三元组表示稀疏矩阵的元素,有时并不能
- 线性表是具有n个()的有限序列。
- 在操作序列EnQueue(1)、EnQu
- 证明:对任一满二叉树,其分枝数B=2(n
- 堆排序是一种稳定的排序算法。
- 一个子串在包含它的主串中的位置是指()。
- 算法设计(要求:算法用伪代码和C++描述
- 对一个栈顶指针为top的链栈进行出栈操作
- 在散列存储中,装填因子a的值越大,则()
- n个节点的完全二叉树,编号为i的节点是叶