卡特兰数

卡特兰数:

其对应序列为:

H0 H1 H2 H3 H4 H5 H6 H7 Hn
1 1 2 5 14 42 132 429 C2nnn+1
  • Hn{i=1nHi1×Hni n2,nN+1                               n=0,1
  • Hn=Hn1 ×(4n2)n+1
  • Hn=C2nnC2nn1

 

对于一下问题属于 Catalan 数列:

1.给定 n0n1,排成的长度为 2n 的序列,满足任意前缀序列中 0 的个数都不少于 1 的个数的序列有多少个。(将 01 序列置于坐标系中,起点定于原点。若 0 表示向右走,1 表示向上走,路径上的任意一点,横坐标大于等于纵坐标的合法路径数量。)

image

2.一个栈的进栈序列为 1,2,3,,n 有多少个不同的出栈序列?

将进栈视为 0 ,将出栈视为 1 ,则与第一个问题相同,故答案为 Catn

3.n 个节点,可以构造多少不同二叉树?

f(n)n 个节点构成的不同二叉树的数量。
该问题答案为 不同情况下左子树的方案数 × 对应右子树的方案数 的和。
f(n)=f(0)×f(n1)+f(1)×f(n2)++f(n1)×f(0)
会发现 f(n)=i=1nf(i1)×f(ni) ,与 Catn 的递推式相同,故答案为 Catn

posted @   programmingysx  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示