简介

卡特兰数又称卡塔尔数,是组合数学中一个常出现在各种计数问题中的数列。其前几项为: 1, 2, 5, 14, 42, 132, 429, …

朴素递推公式

快速计算公式

  • 递推公式2: h ( n ) = h ( n − 1 ) ∗ ( 4 ∗ n − 2 ) n + 1 \frac{h(n) = h(n-1) * (4*n-2)}{n+1} n+1h(n)=h(n−1)∗(4∗n−2)​
  • 组合公式1: C 2 n n n + 1 \frac{C^n_{2n}}{n+1} n+1C2nn​​
  • 组合公式2: C 2 n n − C 2 n n − 1 C^n_{2n}-C^{n-1}_{2n} C2nn​−C2nn−1​

应用

栈进出问题

二叉树结点问题

括号序列问题

括号化问题:一个合法的表达式由 ( ) () ()包围, ( ) () ()可以嵌套和连接,如: ( ( ) ) ( ) (())() (())()也是合法表达式,现给出 n n n对括号,求可以组成的合法表达式的个数;

假设当前要计算的是第 k k k个 ( ( (;

其左边有 k − 1 k-1 k−1个 ( ( (,右边有 n − k n-k n−k个 ( ( (;

那么一共有 h ( k − 1 ) ∗ h ( n − k ) h(k-1)*h(n-k) h(k−1)∗h(n−k)种匹配方案;

因为 k k k是可以任取的,因此就得到了卡特兰数列的递推公式,即下图

凸多边形三角划分

参考

博客1

博客2

卡特兰数列(Catalan)相关推荐

  1. 卡特兰数列(Catalan )

    简述 卡特兰数又称卡塔兰数,它是组合数学中一个常出现在各种计数问题中出现的数列,其前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 587 ...

  2. 卡特兰(Catalan)数列

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

  3. 组合数学 —— 卡特兰数列(Catalan)

    [概述] 卡特兰数列是组合数学中一个常出现在各种计数问题中出现的数列,其前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 2 ...

  4. 卡特兰(Catalan)数

    参考:http://lanqi.org/skills/10939/ 卡特兰(Catalan)数来源于卡特兰解决凸n+2边形的剖分时得到的数列Cn,在数学竞赛.信息学竞赛.组合数学.计算机编程等方面都会 ...

  5. 「BZOJ1485」[HNOI2009] 有趣的数列 (卡特兰数列)

    「BZOJ1485」[HNOI2009] 有趣的数列   Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai ...

  6. 卡特兰数 Catalan number

    卡特兰数 Catalan number 卡特兰数前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 74290 ...

  7. 卡特兰数catalan证明及应用举例

    卡塔兰数是组合数学中一个常在各种计数问题中出现的数列.其计算公式是 Cn=Cn2nn+1=(2n)!(n+1)!n!,n为自然数 C n = C 2 n n n + 1 = ( 2 n ) ! ( n ...

  8. 卡特兰数Catalan number的应用

    卡特兰数(Catalan number)的应用 使用场景 计算公式   卡特兰数是一个特殊的数列,基于这个数列,可以找出很多有趣的问题,对于我们学计算机的而言,与这个数列打交道是不可避免了,举一个很经 ...

  9. 卡特兰数 Catalan数

    From: http://www.cppblog.com/MiYu/archive/2010/08/07/122573.html 维基百科资料: 卡塔兰数 卡塔兰数是组合数学中一个常出现在各种计数问题 ...

最新文章

  1. 解决ASP网页乱码的问题
  2. Linux DMA 内存拷贝与memcpy 速率比较
  3. oracle unused 语法_oracle--set unused
  4. C#,pdf文件转换成图片文件。
  5. oracle awr报告生成_oracle11g awr报告分析—WORKLOAD REPOSITORY report
  6. Hibernate持久化对象状态
  7. 【算法理解】从头开始理解梯度提升算法
  8. 简述 矩阵-DirectX 原理,并详解世界坐标转屏幕坐标,附C++实现。
  9. 最新TP开源的淘宝客系统/推券客CMS系统+功能强大
  10. LDC1101 LDC1314 LDC1614 1612 线圈感应测试(PCB+源码)
  11. python 动态执行 内存变化_深入理解python数组的动态扩容机制以及摊销分析
  12. mysql count 返回值类型_mysql count详解及函数实例代码
  13. 裸辞指的是什么?裸辞到底好不好?
  14. 给全栈人员,如何用ps让图片不改变尺寸分辨率大小的情况下,让图片质量变的更小
  15. Mac下导入virtualenv报错:its parent directory is not owned by the current user
  16. Oracle的基本练习:登陆、查看连接、管理登陆用户、修改进程数
  17. 基于LBP纹理特征计算GLCM的纹理特征统计量+SVM/RF识别纹理图片
  18. 孕妇不能吃哪些食物?(协和妇产权威版)
  19. cocos内存使用相关
  20. this hits shit!

热门文章

  1. oracle找不到 dba_tables,不经意发现的dba_objects和dba_tables中的细节
  2. oracle 单记录函数,SQL中的单记录函数
  3. 频率在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的关系。由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度。因此,频率的测量就显得尤为重要,测频方
  4. jQuery移除或禁用html元素的点击事件
  5. golang Use of package XXX without selector
  6. 关于生日悖论问题的验证
  7. cesium中实现鼠标拖动实体功能
  8. 股价大跌、现金流承压,工业富联风光不再?
  9. 什么是jQuery,jQuery的特点。
  10. 小杨哥陷入打假风波,会变成下一个辛巴吗?