数据结构-栈卡特兰数

Posted Mount256

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-栈卡特兰数相关的知识,希望对你有一定的参考价值。

文章目录

卡特兰数公式

  • 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

以上是关于数据结构-栈卡特兰数的主要内容,如果未能解决你的问题,请参考以下文章

卡特兰数总结

Catalan数

栈(卡特兰数模板)

卡特兰数 codevs 1086 栈

树-二叉树的基本概念

[NOIP2003]栈 题解(卡特兰数)