卡特兰数
卡特兰数
卡塔兰数(Catalan number)是一个在组合数学中非常重要的数列,广泛应用于多种结构的计数问题。卡塔兰数的第 n 项通常用 $C_n$ 表示,表示可以由 n 个节点构成的不同二叉树的个数,也可以表示其它多种组合结构的数量。
卡塔兰数的定义
卡塔兰数的第 n 项可以通过以下递推公式或闭式公式来计算:
递推公式:
这个递推公式表达了卡塔兰数的结构:假设我们想构造一个有
n个节点的二叉树,可以先选定一个根节点,剩下的n-1个节点可以分为左右子树,左子树有i个节点,右子树有n-i-1个节点,于是根节点两边的子树的不同构造方法分别是 $Ci$ 和 $C{n-i-1}$。闭式公式:
这个公式表达了卡塔兰数的一种常见计算方式。
卡塔兰数的应用
卡塔兰数在组合数学中有着丰富的应用,例如:
- 不同二叉树的个数:给定
n个节点,构成不同二叉树的个数就是 $C_n$。 - 合法的括号组合数:可以有多少种方式用
n对括号组成合法的括号序列。 - 完全二叉树的个数:不同节点数的完全二叉树的个数。
- 图形的三角剖分数:一个多边形的三角剖分方式数量。
- 二叉搜索树的个数:对于
n个不同元素,形成的不同二叉搜索树的个数。
卡塔兰数的证明
利用递推关系证明
通过递推公式来证明卡塔兰数的一些性质:
假设有 n 个节点的二叉树,我们可以选择一个节点作为根节点,然后把其余的 n-1 个节点分配到左子树和右子树。假设左子树有 i 个节点,右子树有 n-i-1 个节点,那么该二叉树的构造方式数是 $Ci \times C{n-i-1}$。由于这个选择是从 0 到 n-1 不同的,我们就得到了递推公式:
通过这个递推关系,可以一步步得到卡塔兰数的值。
使用闭式公式证明
卡塔兰数的闭式公式:
通过斯特林公式和组合数学中的恒等式,可以推导出这个闭式公式的正确性。
计算四个节点(a、b、c、d)不同二叉树个数。
可以使用卡塔兰数公式来解决这个问题。卡塔兰数公式用于计算由 n 个节点形成的不同二叉树的个数。卡塔兰数的公式为:
对于 n = 4(因为我们有四个节点:a、b、c、d):
所以,四个节点的不同二叉树个数是 14。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Moyuan's website!






