主题:栈问题
zjkzxy
[专家分:310] 发布于 2006-04-06 17:41:00
设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入
请分析 1,2 ,3 ,4 的24种排列中,哪些序列是可以通过相应的入出栈操作得到的
请教以上问题,有什么规律吗?
回复列表 (共5个回复)
沙发
euc [专家分:4310] 发布于 2006-04-06 18:22:00
第一个是4的话,以后就必须是3,2,1了
第一个是3的话,以后的组合2必在1前
就是说已经压进栈里的数的相对顺序是固定的了。
以前做过,忘了……瞎想的
板凳
rickone [专家分:15390] 发布于 2006-04-06 18:27:00
这样的题一般是选择题吧,规律我考试的时候也没找出来,我是用手试,一个一个试。
另外一个有点意思的题是求出栈排列数。
3 楼
lutree1985 [专家分:3490] 发布于 2006-04-06 19:14:00
一个一个试验
只要记住先进后出的原则就可以了
把每种情况都列出来
没别的办法
别怕烦啊楼主
4 楼
冷月星光 [专家分:16520] 发布于 2006-04-06 20:32:00
其实你只要按照栈的规则后进先出的顺序,慢慢来推就可以了,细心点
5 楼
中国台湾 [专家分:2140] 发布于 2006-04-06 21:55:00
严蔚敏 习题书p23页 3.5题
假设已S和X分别为入栈和出栈的操作,则初态和终态均为栈空的入栈和初栈的操作序列可以表示为仅由X和S组成的序列.称可以操作的序列为合法序列(例如,SXSX为合法序列,SXXS为非法序列)试给出区分给定序列是合法序列或非法序列的一般准则,并证明:两个不同的合法序列不可能得到相同的元素序列.
解法 1字符S个数=字符X个数
2字符S个数+字符X个数=2的N次方;
31<=i<=2的N次方序列前i个字符中S的个数>=X的个数
有效序列可得到1 2 3条件
但由1 2 3条件不能得到 是有效序列 我们老师只教我们这样判断就够了
我来回复