出栈序列相对入栈序列关系.docVIP

  • 7
  • 0
  • 约3.05千字
  • 约 5页
  • 2017-09-06 发布于辽宁
  • 举报
出栈序列相对入栈序列关系

出栈序列相对入栈序列关系 在数据结构的定义里,栈是只允许一端进行插入或删除操作的线性表。人们总结简化为后进先出原则。栈的定义给定以后引出了另一类问题——出栈序列问题。就是在给定一个入栈序列(如a1,a2…an)这来,您也许会有点被忽悠了,其实给定一个栈序列,a1,a2,……an再要判断的出栈队列 ai ,aj , ak ,……他们是否匹配,很简单,用一个大小为的数组模拟栈,以a1,a2,……an输入,对照着要判断的序列ai ,aj , ak ,…… 有目的的操作时间内就可以完成。只是人工来说稍微麻烦一点罢了。人工做判断,a,b,c要晚于d出栈同时a,b,c对先于d入栈,所以根据上面的规律a,b,c,d的排列顺序只能是dcba。除了元素d 的前面e还可以有4个位置可取,所以答案是4种。 给定一个正整数元素序列 1,2,3,…,99,100.允许进栈,退栈操作交替进行,我们根据已给的规律很容易判别。 1,2,…,7,10,3,11,12,6,…,97,98,99,100不是出栈序列,因为 7,3,6.不符合规律。 下面给出定律的证明。 假设给定一个元素序列a1,a2,a3, …,an(记为Sa)以所给的次序依次进栈,在进栈操作时,允许出栈操作。则判断另一个已知序列元素一一映射序列记为Sb可否成为原序列的充分必要条件是: 对于序列Sb里的任意元素ak,相应于Sa里排在其前面的且在Sb里排

文档评论(0)

1亿VIP精品文档

相关文档