数据结构经典问题——出栈顺序
2014-03-28 22:08
190 查看
对于数据结构的问题,如果思路稍有不对,就容易陷入逻辑混乱。我希望自己对数据结构的理解,能够给大家一点帮助。我会将所有我有过心得的问题在我的博客上写出来,欢迎大家浏览,如果有什么不对的地方,还请大家指正,有问题可以给我留言,我会尽量解决,谢谢。
声明一下我写博客的初衷:不是炫耀,而是回报。因为我在计算机方面的知识好多都从网上找到答案,因此我也
将自己搜寻整理的材料,自己写的材料,展示到网上,算是尽一份力吧。
一个经典问题如下(不愿意看思路的可以直接看红色字体部分):
一个栈的入栈序列是a,b,c,d,e则栈的不可能的输出序列是:()
A edcbd B decba C dceab D abcde
栈之根本——先进后出(first in,lastout)初次接触到这个问题的人,或许会认为入栈abcde,所以出栈只能是edcba所以BCD都不对。
其实是这个问题描述有歧义,应该是分段入栈的顺序,也就是说,可能先入栈a,取出a,入栈b,取出b……,所以D也是可能的。
知道这个意思了以后,就要明确这个问题的矛盾根本所在:第一次出栈d,说明什么?说明a,b,c一定早已入栈(入栈顺序决定的)。那么在出栈d以后,a,b,c的出栈顺序一定是c,b,a,而不用理会中间穿插着出栈了d后面的字符(因为可以再入栈,再出栈嘛)。所以立即选中C,不用犹豫,理由简单:d出栈了,abc一定已经入栈,那么abc只能以cba的顺序出栈,C不符合,OK!This problem is so esay, Thanks for my teacher Wang Shanshan.
栈就像个筒子 只能从最外面一个一个的出来
ABCD一次进栈从栈口到里面是DCBA
如果是多选的话 那就是没有一次性放完··
A :A> B> B< C> C< A< D> D< BCAD
B:A> B> C> C< D> D< B< A< CDBA
C: A> A< B> B< C> C< D> D< ABCD
>表示进 <表示出
以此类推···
1。EDCBA 2。DECBA 3。DCEAB 4。ABCDE
选3
堆栈讲究先进后出,后进先出
选项1是abcde先入栈,然后依次出栈,正好是edcba
选项2是abcd先依次入栈,然后d出栈,e再入栈,e出栈
选项3是错误的,不可能a先出栈
选项4是a入栈,然后a出栈;b再入栈,b出栈。。。。。。依此类推
声明一下我写博客的初衷:不是炫耀,而是回报。因为我在计算机方面的知识好多都从网上找到答案,因此我也
将自己搜寻整理的材料,自己写的材料,展示到网上,算是尽一份力吧。
一个经典问题如下(不愿意看思路的可以直接看红色字体部分):
一个栈的入栈序列是a,b,c,d,e则栈的不可能的输出序列是:()
A edcbd B decba C dceab D abcde
栈之根本——先进后出(first in,lastout)初次接触到这个问题的人,或许会认为入栈abcde,所以出栈只能是edcba所以BCD都不对。
其实是这个问题描述有歧义,应该是分段入栈的顺序,也就是说,可能先入栈a,取出a,入栈b,取出b……,所以D也是可能的。
知道这个意思了以后,就要明确这个问题的矛盾根本所在:第一次出栈d,说明什么?说明a,b,c一定早已入栈(入栈顺序决定的)。那么在出栈d以后,a,b,c的出栈顺序一定是c,b,a,而不用理会中间穿插着出栈了d后面的字符(因为可以再入栈,再出栈嘛)。所以立即选中C,不用犹豫,理由简单:d出栈了,abc一定已经入栈,那么abc只能以cba的顺序出栈,C不符合,OK!This problem is so esay, Thanks for my teacher Wang Shanshan.
栈就像个筒子 只能从最外面一个一个的出来
ABCD一次进栈从栈口到里面是DCBA
如果是多选的话 那就是没有一次性放完··
A :A> B> B< C> C< A< D> D< BCAD
B:A> B> C> C< D> D< B< A< CDBA
C: A> A< B> B< C> C< D> D< ABCD
>表示进 <表示出
以此类推···
1。EDCBA 2。DECBA 3。DCEAB 4。ABCDE
选3
堆栈讲究先进后出,后进先出
选项1是abcde先入栈,然后依次出栈,正好是edcba
选项2是abcd先依次入栈,然后d出栈,e再入栈,e出栈
选项3是错误的,不可能a先出栈
选项4是a入栈,然后a出栈;b再入栈,b出栈。。。。。。依此类推
相关文章推荐
- 数据结构顺序栈的创建、初始化、出栈、入栈及销毁
- 数据结构与算 5:C++ 顺序/链式存储,栈 模板类实现,编译模板类问题解决
- 经典问题12:数据结构基础 ---堆
- 数据结构之顺序表排序问题
- 【数据结构实验二】顺序栈的建立、入栈和出栈
- 【读书笔记】数据结构与算法经典问题解析——Java语言描述【树】
- 【数据结构与算法经典问题解析】直方图中最大矩形
- 经典问题12:数据结构基础 ---堆
- 数据结构经典算法学习之完全背包问题
- 数据结构经典问题——出栈顺序 转载至:canlynet微博
- 经典数据结构之栈的应用-迷宫问题
- 数据结构与算法经典问题解析 Java语言描述pdf
- 数据结构——栈—出栈顺序的可能情况
- 数据结构经典算法学习之01背包问题
- (2013-4-21)数据结构实验三:狐狸逮兔问题(方法一:顺序表实现)
- 实现两个链表的合并 可变长顺序表设计 数据结构
- 数据结构之顺序队列和链式队列常用的一些操作
- Coder Buct 1072: 数据结构作业(可选)-- 约瑟环问题
- 数据结构之顺序表学习笔记
- 数据结构课程设计---------最少换车次数问题