美文网首页
卡特兰数

卡特兰数

作者: wean_a23e | 来源:发表于2018-11-15 13:43 被阅读4次

之前看算法导论时,讲了给定几个数字,能构造出几种二叉树,当时只想到排列组合的解决方法,极其复杂又不好记,过段时间还忘了。。。。今天看大牛的文章,评论有人提及卡特兰数,了解后才知道这么优雅的解决思路。。

卡特兰数前几项

卡特兰数前几项为 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, ...

如果在解题时推出了前几个数字符合这种规律的话,就可以考虑是否用卡特兰数求解了。

卡特兰数的递推公式

令 f(0) = 1 递推式为 f(n) = f(0) * f(n-1) + f(1) * f(n-2) + ... + f(n-2) * f(1) + f(n-1) * f(0)。
这个式子是我们将问题与卡特兰数联系起来的思路。而求解就不要用这个式子了,数学家们想出了通用计算公式 f(n) = c[2n,n] - c[2n, n+1] = c[2n,n]/(n+1)。计算结果时,还是用这个式子计算吧。

卡特兰数的应用

  1. 出栈问题

  2. 二叉树构成问题

  3. 凸多边形的三角形划分

  4. 括号匹配, 01 序列 等

相关文章

  • Golang 实现卡特兰数

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

  • 卡特兰数:hdu-2067 小兔的棋盘&&火车出栈问题

    卡特兰数,一串神奇的数字,1,2,5,14...... 首先了解一下卡特兰数. 卡特兰数(好像很有用的说) - C...

  • AVL

    LOG(n) 卡特兰数 叉姐

  • 数学 | 卡特兰数

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

  • 卡特兰数

  • 卡特兰数

    之前看算法导论时,讲了给定几个数字,能构造出几种二叉树,当时只想到排列组合的解决方法,极其复杂又不好记,过段时间还...

  • 卡特兰数

    https://zhuanlan.zhihu.com/p/31317307 火车进出栈问题和腾讯那道猜拳游戏是一样...

  • 卡特兰数

    卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 :1, 2, 5, 14, 42,132, 429,...

  • 卡特兰数

    名字来源比利时数学家卡塔兰。卡塔兰:Catalan 数列满足 通项: 给定n个节点,能构成的二叉搜索树个数为Cn。...

  • 卡特兰数

    题:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?解:...

网友评论

      本文标题:卡特兰数

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