试题详情
- 简答题设将整数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 关注下方微信公众号,在线模考后查看
热门试题
- 广义表单链表示法,其中atom是一标志位
- 一个广义表中的元素分为()元素和()元素
- 在稀疏矩阵的十字链接存储中,每个结点的d
- 试将折半查找的算法改写成递归算法。
- 对于n个记录的集合进行归并排序,所需要的
- 设哈希函数H(k)=3Kmod11,散列
- 设输入元素为1、2、3、P和A,入栈次序
- 采用下列排序算法对n个元素进行排序,其排
- 链栈中为何不设置头结点?
- 二次聚集
- 程序就是算法,但算法不一定是程序。
- 在一个长度为n的顺序表中,删除值为x的元
- 数据结构里,下列选项中是算法设计要求的是
- 已知长度为n的线性表A中的元素是整数,写
- 在单链表指针为q的结点之后插入指针为r的
- 散列表的地址区间为0-17,散列函数为H
- 已知一组元素的排序码为: (46,7
- 数据结构中,定义结构体使用struct关
- 算法
- 十字链表适合存储(),邻接多重表适合存储