美文网首页
卡塔兰数

卡塔兰数

作者: sleepyjoker | 来源:发表于2016-11-18 20:32 被阅读98次

卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。



除去一般的公式,卡诺兰数还有一些其他的等价表达形式。


卡诺兰数的应用
组合数学中,有非常多的组合结构可以用卡诺兰数来计数:

  • 有n个左括号(和n个右括号),随意排列组合,共有多少种合法表达式。
  • 对于一个栈而言,有n次进栈和n次出栈,随意排列组合,共有多少种合法的出入栈的形式。
  • ……

相关证明
针对上述问题为何满足卡诺兰数,给出如下证明:
令1表示入栈,0表示出栈,则共有C(2n,n)种排列方式。把出入栈按顺序一一写出,可表示为一个二进制数。但其中有一些是不合法的,下面要减去不合法的个数。
若某一种方式不合法,则在某个数2m+1处,会有m+1个0和m个1。把2m+2及其之后所有的数逐位取反,则会得到一个有着n+1个0和n-1个1的
二进制数,反之亦然。
因为在2m+1之前,无论是C(n,2n)中不合法的形式还是C(n-1,2n)都是m+1个0和m个1的全排,而2m+1之后取反是一个一一对应的操作,取反操作完之后二者又是相同的。所以这两种情况的是一一对应的,那么减去不合法的数的个数即是减去C(n,n+1)的个数。得到公式:

C(n,2n)-C(n+1,2n)

恰好与卡诺兰数的一种表达形式相同,故得证。

相关文章

  • 卡塔兰数

    卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。 除去一般的公式,卡诺兰数还有一些其他的等价表达形式。 卡诺...

  • Catalan number卡塔兰数的应用

    卡塔兰数非常经典,很多现实问题都是卡塔兰数问题。在编程领域也很常见。如下的面试题: 2012腾讯实习招聘笔试题在图...

  • Golang 实现卡特兰数

    Golang 实现卡特兰数 卡特兰数又称卡塔兰数,卡特兰数是组合数学中一个常出现在各种计数问题中的数列。前20项为...

  • 数学 | 卡特兰数

    卡特兰数 定义 卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出...

  • 卡特兰数(Catalan number)

    catalan介绍    Catalan number,卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题...

  • 【卡塔兰数】假定有A,B,C,D依次进栈,进栈过程中允许出栈,写

    母题:N个数依次入栈,出栈顺序有多少种? 答案:Catalan number 卡塔兰数 常规分析 首先,我们设f(...

  • lintcode-不同的二叉查找树

    卡特兰数Catalan数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (...

  • 卡特兰数(Catalan number)

    定义 1.卡特兰数是一种数列,以比利时的数学家欧仁·查理·卡塔兰命名。2.卡特兰数列:1, 1, 2, 5, 14...

  • 晴神の模拟 | 递归(别重复)、并查集+DFS

    1019 | 千姿百态 据说正儿八经应该用卡塔兰数。然鹅,不会。 可能的二叉树形态数 == 可能的二叉搜索树形态数...

  • 我估计你也不会

    α 阿尔法 β 贝塔 γ 伽玛 δ 德尔塔 ε 伊普西隆 ζ 泽塔 η 伊塔 θ 西塔 ι 约塔 κ 卡帕 λ 兰...

网友评论

      本文标题:卡塔兰数

      本文链接:https://www.haomeiwen.com/subject/ywjspttx.html