数学 | 卡特兰数


_文{}_\equiv{}_{\nabla \Delta \nabla \Delta \nabla \Delta} {}^{皮}{}_{实}{}^{乐}{}_{观} ^思_考 ^有{}_{人^{生}}{}^{才_{有}}{}_{精^{彩}}
^{\star\star}{}^\equiv{}^{水土七口刀} {}_{生}{}^{活}{}_{阅}{}^{读} ^运_动 _有{}^{兴_{趣}}{}_{才^{有}}{}^{人_{生}}


卡特兰数

定义

卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,其前几项为:1 ,1,2, 5,14, 42,132, 429, 1430,4862, 16796,58786,208012

递推关系

C_{n+1}=C_0C_n+C_1C_{n-1}+……+C_nC_0
(n-3)C_n=n/2(C_3C_{n-1}+C_4C_{n-2}+……+C_{n-2}C_4+C_{n-1}C_3)

递推公式

C_{n}=\frac{1}{n+1}\left(\begin{array}{c}{2 n} \\{n}\end{array}\right)=\frac{(2 n) !}{(n+1) ! n !}
\displaystyle C_n=\binom{2n}{n}-\binom{2n}{n+1}\quad \operatorname{for} n\ge1

数据结构相关问题

  • 进出栈问题:栈是一种先进后出(FILO,First In Last Out)的数据结构.1,2,3,4顺序进栈,那么一种可能的进出栈顺序是:1In→2In→2Out→3In→4In→4Out→3Out→1Out, 于是出栈序列为1,3,4,2。
    那么一个足够大的栈的进栈序列为1,2,3,⋯,n时有多少个不同的出栈序列?
  • 我们可以这样想,假设k是最后一个出栈的数。比k早进栈且早出栈的有k-1个数,一共有h(k-1)种方案。比k晚进栈且早出栈的有n-k个数,一共有h(n-k)种方案。所以一共有h(k-1)h(n-k)种方案。显而易见,k取不同值时,产生的出栈序列是相互独立的,所以结果可以累加。k的取值范围为1至n,所以结果就为h(n)= h(0)h(n-1)+h(1)*h(n-2) + … + h(n-1)h(0)。
  • 二叉树构成问题。有n个结点,问总共能构成几种不同的二叉树。
  • 我们可以假设,如果采用中序遍历的话,根结点第k个被访问到,则根结点的左子树有k-1个点、根结点的右指数有n-k个点。k的取值范围为1到n。讲到这里就很明显看得出是卡特兰数了。
  • 二叉树构成问题。有n个结点,问总共能构成几种不同的二叉树。
  • 我们可以假设,如果采用中序遍历的话,根结点第k个被访问到,则根结点的左子树有k-1个点、根结点的右指数有n-k个点。k的取值范围为1到n。讲到这里就很明显看得出是卡特兰数了。

待分析问题

  1. 括号化问题。左括号和右括号各有n个时,合法的括号表达式的个数有Catalan(N)种。

  2. 有n+1个数连乘,乘法顺序有Catalan(N)种,相当于在式子上加括号。

  3. n个非叶节点的满二叉树的形态数为Catalan(N)。

  4. 对于一个n*n的正方形网格,每次只能向右或者向上移动一格,那么从左下角到右上角的不同种类有Catalan(N)种。

  5. 对凸n+2边形进行不同的三角形分割(只连接顶点对形成n个三角形)数为Catalan(N)。

  6. 将有2n个元素的集合中的元素两两分为n个子集,若任意两个子集都不交叉,那么我们称此划分为一个不交叉划分。此时不交叉的划分数是Catalan(N)。

  7. n层的阶梯切割为n个矩形的切法数也是Catalan(N)。

  8. 在一个2*n的格子中填入1到2n这些数值使得每个格子内的数值都比其右边和上边的所有数值都小的情况数也是Catalan(N)。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容

  • 数据结构和算法--二叉树的实现 几种二叉树 1、二叉树 和普通的树相比,二叉树有如下特点: 每个结点最多只有两棵子...
    sunhaiyu阅读 6,532评论 0 14
  • 一、关于卡特兰数卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42,...
    步行植物阅读 1,468评论 0 0
  • 0、前言当年博主自己参加校招笔试面试时就遇到过几次catalan数相关的题目,今年又到了互联网招聘季,翻看下近期各...
    王丨三阅读 648评论 0 0
  • 目录 0.树0.1 一般树的定义0.2 二叉树的定义 1.查找树ADT 2.查找树的实现2.1 二叉查找树2.2 ...
    王侦阅读 7,336评论 0 3
  • 6月8日,生了个千金,人说:老来得子! 四十多岁,尴尬的年龄,别人已经或准备当爷了,我却又当了爸,以后在幼儿园、小...
    雪樵闲话阅读 1,837评论 2 15