卡特兰数
卡特兰数是组合数学中一个常出现在各种计数问题中出现的数列。
卡特兰数前几项为 :
C0=1,C1=1,C2=2,C3=5,C4=14,C5=42,C6=132,C7=429,C8=1430,C9=4862,C10=16796
输入一个整数n,计算h(n)。
令h(0)=1,h(1)=1,Catalan数满足递推式:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)*h(0) (n>=2)
例如:
h(2)=h(0)h(1)+h(1)h(0)=11+11=2
h(3)=h(0)h(2)+h(1)h(1)+h(2)h(0)=12+11+21=5
递推关系的解为:
卡特兰数的应用:
1,出栈种类
int f[100];//f[i]表示i个数的出栈序列有多少个
//将n个数一次标号为1,2,3,...n 假设第k个数最后出栈,即最后输出的n个数中最后一个为k
//k前面有k-1个数先出栈有f[k-1]种情况,k后面有n-k个元素,有f[n-k]种情况
2,括号匹配
3,矩阵链乘
4,n个节点构成二叉树有几种情形
5,圆上的不相交线段数量
6,凸多边形三角剖分
7,找零钱
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!