【数据结构-栈】卡特兰数
卡特兰数公式
f(n) = C(2n,n) / (n+1)
- 计算用途:二叉树形态数,出栈序列数
出栈序列数
【例 1】3 个不同元素依次进栈,能得到多少种不同的出栈序列?
【解】
f(3) = C(6,3) / (3+1) = 20 / 4 = 5
【例 2】5 个不同元素依次进栈,能得到多少种不同的出栈序列?
【解】
f(5) = C(10,5) / (5+1) = (6 * 7 * 6) / 6 = 42
二叉树形态数
【例】先序序列(前序序列)为 a, b, c, d 的不同二叉树的个数是?
【解】前序序列为入栈次序,中序序列为出栈序列,因为前序序列和中序序列可以唯一确定一棵二叉树,所以相当于“以序列 a, b, c, d 为入栈次序,则出栈序列的个数是?”
f(4) = C(8,4) / (4+1) = 70 / 5 = 14
本文作者:漫舞八月(Mount256)
本文链接:https://www.cnblogs.com/Mount256/p/16993278.html
版权声明:本作品采用CC 4.0 BY-SA许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步