栈的输出序列
2020-08-21 本文已影响0人
sakura579
![](https://img.haomeiwen.com/i7186975/273bf7f9f4f6cfe2.png)
![](https://img.haomeiwen.com/i7186975/82caa9ae73dfb94b.png)
![](https://img.haomeiwen.com/i7186975/04cd4684b15d0b97.png)
那条白线是最大容量标记
![](https://img.haomeiwen.com/i7186975/8cf36d7168ee2d4d.png)
当前栈内没有元素 所以所消耗的最大容量是0 白线画在栈的底部
![](https://img.haomeiwen.com/i7186975/960b832403a42841.png)
![](https://img.haomeiwen.com/i7186975/b8b00bee0c528bca.png)
有写题会刷点小聪明
![](https://img.haomeiwen.com/i7186975/3fd923104d7446a0.png)
给一个出队序列
队的先进先出原则
出队序列 就是 出栈序列
![](https://img.haomeiwen.com/i7186975/d82c26b50393c331.png)
栈的先进后出原则
所得到的出栈序列 是我们上一个栈的出栈序列 的 逆序序列
![](https://img.haomeiwen.com/i7186975/f03ff1610191d1d2.png)
![](https://img.haomeiwen.com/i7186975/28c7dc4aac3ea780.png)
![](https://img.haomeiwen.com/i7186975/23719844da16e69b.png)
e可以出现在四个位置
![](https://img.haomeiwen.com/i7186975/c937889a4184d088.png)
![](https://img.haomeiwen.com/i7186975/038c0f193d436b21.png)
若p1 = n 时 则出栈元素固定(即n为第一个出栈)
![](https://img.haomeiwen.com/i7186975/45eec81d1c764669.png)
当pi = n ,pi之后出栈是的降序 因为入栈是升序
pi之后的 是在pi出栈之后才逐个出栈
这个很重要
![](https://img.haomeiwen.com/i7186975/7b3bd0d9cc5d1306.png)
出栈顺序是Pi, Pj, Pk
![](https://img.haomeiwen.com/i7186975/968ae3761160260f.png)
第四个黄色标记的入栈序列 是不存在 出栈顺序是Pi, Pj, Pk的 ,其余的入栈序列均存在
因为Pi 若为第一个出栈 则接下来会是Pk出栈 而不是Pj 不满足
![](https://img.haomeiwen.com/i7186975/cdc8ff3609eeac55.png)
入栈顺序是1,2,3 则出栈顺序无3,1,2!!!
这个结论是核心 关于输出序列这部分 有太多的题可以根据这一条排除选项
入栈顺序是1,2,3 则出栈顺序可以有
1,2,3
2,1,3
3,2,1
1,3,2
2,3,1
![](https://img.haomeiwen.com/i7186975/18a8048004a97889.png)
右边的图
1入 2入 2出 3入 3出
此时p1 为2 ,p2 为3,p3 可以取4~n的任意数
再结合左边的1,2两种情况
唯一不能取得数是3 是因为题目中说的p2为3
![](https://img.haomeiwen.com/i7186975/14c8b43d8832e5bb.png)
![](https://img.haomeiwen.com/i7186975/1eb5459595124546.png)
![](https://img.haomeiwen.com/i7186975/f176751def2a736b.png)
![](https://img.haomeiwen.com/i7186975/1c762d8193a48fb4.png)
![](https://img.haomeiwen.com/i7186975/db7272f6f3a10f5c.png)
左子树个数从0~4 是五种 之间不重复,也不遗漏,没有交际的 用加法
左子树已知 得到右子树个数 是分步骤 是用乘法
其实这算的是构成排序二叉树的个数
![](https://img.haomeiwen.com/i7186975/b379284f3289bb2e.png)
f(0)是不画 也是一种画法 , 不画和不能画是两回事