文章目录

  • 什么是卡特兰数?
  • 卡特兰数的几何意义
  • 卡特兰数公式推导

什么是卡特兰数?

明安图数,又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现于各种计数问题中的数列。以中国蒙古族数学家明安图 (1692-1763)和比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,其前几项为(从第零项开始) : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, …

卡特兰数的几何意义

简单来说,卡特兰数就是一个有规律的数列,在坐标图中可以表示为:从原点(0,0)出发,每次向x轴或者y轴正方向移动1个单位,直到到达(n,n)点,且在移动过程中不越过第一象限平分线的移动方案总数。

卡特兰数公式推导

我们暂且先不考虑移动过程中不越过第一象限平分线这个约束条件,那么从(0,0)点到(n,n)点的过程中,我们总共需要向右移动n步,向上移动n步,一共2n步。我们可以理解为在2n步里面选出n步来向上移动,那么剩下的n步就是向右移动的步数,那么方案总数就是C2nnC_{2n}^nC2nn​。

现在,我们来看看如何解决不越过第一象限平分线这个问题。仔细想想,不越过第一象限平分线也就等价于不触碰到y=x+1y=x+1y=x+1这条直线。而我们如果把触碰到了直线y=x+1y=x+1y=x+1的路线的第一个与y=x+1y=x+1y=x+1的触碰点之后的路线关于直线y=x+1y=x+1y=x+1对称,并画出对称后的路线

我们会发现触碰到了直线y=x+1y=x+1y=x+1的路径的终点都变成了点(n-1,n+1)。也就是说,从(0,0)点到(n,n)点的路线当中触碰了直线y=x+1y=x+1y=x+1的路线条数与从(0,0)点到(n-1,n+1)点的路线条数的数量是相等的。于是从(0,0)点到(n,n)点的非法路径条数为C2nn+1C_{2n}^{n+1}C2nn+1​。

综上所述,从(0,0)点到(n,n)点满足条件的路径数为C2nnC_{2n}^nC2nn​-C2nn+1C_{2n}^{n+1}C2nn+1​。

通过化简,公式可以简化为:

除了这个通项公式之外,卡特兰数还有一个由该通项公式推导而来的递推公式:

卡特兰数(Catalan)相关推荐

  1. 卡特兰数 Catalan number

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

  2. 卡特兰数Catalan number的应用

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

  3. 卡特兰数Catalan

    1.卡特兰数的性质 其实重要的就两个公式:1和3. 公式1是卡特兰数的通项公式. 公式2是卡特兰数的递归公式.注意递推公式是C n+1=- 通常是发现问题可以用卡特兰数的递推公式来解决,从而想到卡特兰 ...

  4. 卡特兰数 Catalan数

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

  5. 算法基础 - 数论 | 组合数学 卡特兰数(Catalan number)定义、证明及例题

    写在前面:卡特兰数这东西感觉挺常用的,并且公式很简单,那就花一下午总结一下,学点皮毛吧(反正遇到我还是不会 ) [PDF] 大三上组合数学课堂讲义 文章目录 卡特兰数定义 卡特兰数的性质 卡特兰数证明 ...

  6. java编程求卡特兰数_卡特兰数(Catalan Number)

    卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列.该数在计算机专业中比较重要,有一些具体的应用实例.这篇文章主要分三部分: 卡特兰数递归式的含 ...

  7. 卡特兰数 Catalan

    做初赛题,回顾到以前学的一些知识,发现还有其他广泛的应用,所以在此记录并当作复习,若有不当之处,随时欢迎读者斧正. Catalan 卡特兰数又称卡塔兰数,卡特兰数是组合数学中一个常出现在各种计数问题中 ...

  8. 出栈顺序 与 卡特兰数(Catalan)的关系

    一,问题描述 给定一个以字符串形式表示的入栈序列,请求出一共有多少种可能的出栈顺序?如何输出所有可能的出栈序列? 比如入栈序列为:1 2 3  ,则出栈序列一共有五种,分别如下:1 2 3.1 3 2 ...

  9. 卡特兰数——Catalan数

    卡特兰数是组合数学中一个常出现在各种计数问题中出现的数列.由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡塔兰数的一般项公式为  通常使用的递归式:  h(n)=((4*n-2) ...

  10. 卡特兰数[catalan数]`

    定义: 卡特兰数又叫卡塔兰数,是组合数学中一类常用的数列.前几项为:1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 74290 ...

最新文章

  1. 一步一步SharePoint 2007系列文章目录
  2. FMDB使用SQLite事务Save Point
  3. android模拟器越狱,关于iOS Simulator(模拟器)是否可以越狱。
  4. 基于visual Studio2013解决面试题之0402合并升序链表并去重
  5. css二级菜单的隐藏与显示_具有二级菜单的导航案例
  6. 更轻易地实现 Jwt Token
  7. 工作312:uni-时间戳处理
  8. android与web服务器建立连接失败,Android websocket连接失败
  9. 大学数学不好是一种什么体验?
  10. 微软的OneNote正在获得类似Win11风格的外观
  11. RegExp 构造函数
  12. 【redis】redis基础命令,分布式锁,缓存问题学习大集合
  13. 选择文件对话框、保存文件对话框、选择文件夹对话框
  14. WordPress更改“固定链接”后 ,页面出现404的解决方法
  15. 未来教育c语言题库百度云,未来教育计算机c语言二级题库(操作题).docx
  16. 电子商务概论(农)之章节课后题
  17. C4D R18-R21
  18. 全国面向小学五六年级及初一的舞蹈方向的艺术学校舞蹈学校整理
  19. 如何在Excel中创建组合图
  20. 解决:远程服务器(阿里云 VHost)和本地文件传输 windows

热门文章

  1. 《三》减小 HTTP 响应的大小
  2. 这届年轻人正在背着你偷偷攒钱
  3. python和jieba库进行简单文本处理之天龙八部小说
  4. 为什么央行降息降准,会导致债券价格上涨?
  5. textarea字数实时统计方案
  6. 共轭先验分布及其应用
  7. ansible中的file、cron、debug、template、lineinfile、blockinfile模块的介绍和使用
  8. 高级编程语言分类_高级编程语言的分类
  9. 2019426 SPSS入门学习
  10. Android Studio安装(本人也是站在巨人肩膀上学习~)