美文网首页技术文章
栈的输出序列

栈的输出序列

作者: sakura579 | 来源:发表于2020-08-21 07:53 被阅读0次



那条白线是最大容量标记



当前栈内没有元素 所以所消耗的最大容量是0 白线画在栈的底部


有写题会刷点小聪明


给一个出队序列
队的先进先出原则
出队序列 就是 出栈序列


栈的先进后出原则
所得到的出栈序列 是我们上一个栈的出栈序列 的 逆序序列




e可以出现在四个位置



若p1 = n 时 则出栈元素固定(即n为第一个出栈)


当pi = n ,pi之后出栈是的降序 因为入栈是升序
pi之后的 是在pi出栈之后才逐个出栈
这个很重要

出栈顺序是Pi, Pj, Pk

第四个黄色标记的入栈序列 是不存在 出栈顺序是Pi, Pj, Pk的 ,其余的入栈序列均存在
因为Pi 若为第一个出栈 则接下来会是Pk出栈 而不是Pj 不满足

入栈顺序是1,2,3 则出栈顺序无3,1,2!!!

这个结论是核心 关于输出序列这部分 有太多的题可以根据这一条排除选项

入栈顺序是1,2,3 则出栈顺序可以有
1,2,3
2,1,3
3,2,1
1,3,2
2,3,1



右边的图
1入 2入 2出 3入 3出
此时p1 为2 ,p2 为3,p3 可以取4~n的任意数
再结合左边的1,2两种情况
唯一不能取得数是3 是因为题目中说的p2为3


百度词条-卡特兰数


左子树个数从0~4 是五种 之间不重复,也不遗漏,没有交际的 用加法
左子树已知 得到右子树个数 是分步骤 是用乘法

其实这算的是构成排序二叉树的个数

f(0)是不画 也是一种画法 , 不画和不能画是两回事

相关文章

  • 栈的压入弹出顺序

    题意:条件:给出一个栈的输入序列和一个输出序列问题:你判断输出序列是否合法,即通过输入序列的入栈顺序能否通过出栈操...

  • 栈的输出序列

    那条白线是最大容量标记 当前栈内没有元素 所以所消耗的最大容量是0 白线画在栈的底部 有写题会刷点小聪明 给一个出...

  • 公司面试题实战(一)

    1、一个栈的输入序列是12345,则下列序列中不可能是栈的输出序列的是(B ) A.23415 B.54132 C...

  • 栈有效出栈序列

    给定栈的输入顺序push和输出顺序pop,判断pop序列是否是可能的出栈序列。限定条件:push,pop元素不重复...

  • 双端队列

    先把双端队列 的一端 堵住变成了一个栈 在这种情况下 输入序列1,2,3,4所能得到的输出队列个数即栈能输出的序列...

  • 栈-N946-验证栈序列

    题目 概述:给定一个入栈序列和出栈序列,判断如果以入栈序列的顺序入栈,所给定的出栈序列的顺序是否是合理的 输入:入...

  • 最长递增子序列

    不输出序列 不输出序列 需要输出序列

  • 31:栈的压入、弹出序列

    题目31:栈的压入、弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序。假...

  • 《剑指offer》(二十一)--栈的压入、弹出序列(java)

    栈的压入、弹出序列 考点:栈 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该...

  • 一些常见的算法题目

    合法的出栈序列 已知1至n的数字序列,按顺序入栈,每个数字入栈后即可出栈,也可在栈中停留,返回等待后面的数字入栈出...

网友评论

    本文标题:栈的输出序列

    本文链接:https://www.haomeiwen.com/subject/rgtsjktx.html