zoukankan      html  css  js  c++  java
  • 卡特兰数

    部分摘自wxh学长课件......

    {

      卡特兰数是组合数学中经常出现在计数问题的数列,

      满足:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2)

      另一种递推公式:h(n)=h(n-1)*(4*n-2)/(n+1)

      通项公式:h(n)=C(2*n,n)-C(2*n,n-1)              h(n)=C(2*n,n)/(n+1)              h(n)=1/n*C(2*n-2,n-1);

    }

    对于以上式子理解:

    {

      h(n)第一个递推式主要可以用来判定这个式子或题是否是catalan数。(反正我是用组合数推不出来。)。

      h(n)第一个递推式是基础,第二个可以用来线性递推一下

      通向公式第3个和第2个可以直接求出特定的h值。   第一个感觉可以用来在组合数已经求出来的情况下比较快速计算出。
    }

    注意点:1.n>=2          2.组合数是否取模—>能否用C直接求;

    应用:

    {

      出栈次序;—>设第k个数最后一次出栈将问题确定化缩小化,感觉这里的思想比较优秀。

      括号匹配;

      二叉树计数;   ->给节点组成二叉树。

      有限制的网格路径数
    }

    证明:

    {

      用到了一个叫生成函数的东西。

      发正我现在是看不懂....................

      https://blog.csdn.net/acdreamers/article/details/7628667                     先屯起来。
    }

    个人遇到出栈次序上的问题

    {

      一直想知道为什么是h(n),也就是卡特兰数;

      然后发现其实是推出f(n)=f(k-1)*f(n-k),也就是推出了一个符合catalan数性质的式子由此发现其是catalan数。
    }

  • 相关阅读:
    zabbix agent安装(三)
    获取hudson持续构建编译结果的一种方法
    一些C/C++中的函数
    设置页眉的章节及标题方法
    编译64位geos库的经验总结
    无法定位程序输入点到_ftol2于动态链接库msvcrt.dll的错误的解决
    Java学习笔记(二)
    初学网络协议
    HTTPS与SSL(二)
    HTTPS与SSL(一)
  • 原文地址:https://www.cnblogs.com/three-D/p/11221996.html
Copyright © 2011-2022 走看看