数据结构的一道题设栈 S和队列Q的初始状态为空,元素 a b c d e f g依次进栈 S .若每个元素出站后立即进去

问题描述:

数据结构的一道题
设栈 S和队列Q的初始状态为空,元素 a b c d e f g依次进栈 S .若每个元素出站后立即进去入队列Q ,且7个元素出队顺序是b d c f e a g则栈 S的容量至少多少?这是数据结构的题.
1个回答 分类:综合 2014-11-17

问题解答:

我来补答
首先明确几个概念:栈是先进后出,队列是先进先出;题目中指定了进栈顺序,但没说要连续进栈.(下面箭头图中右代表栈底,左代表栈顶,队列同样)
假如栈的容量是1,则第一个出栈的肯定是a,不符合;
假如栈的容量是2,则a、b进去,b出栈,c进栈,只能c先出栈,d不可能出队顺序在c前
假如栈的容量是3,分析过程如下:
①S:b→a,b出栈,Q:b,S:a
②S:d→c→a,d、c依次出栈,Q:c→d→b,S:a
③S:f→e→a,f、e、a依次出栈,Q:a→e→f→c→d→b,S:null
④S:g,g出栈,Q:g→a→e→f→c→d→b,S:null
Q中元素依次出队,即b→d→c→f→e→a→g
 
 
展开全文阅读
剩余:2000
下一页:先解十一题