卡特兰数的研究

本文探讨了卡特兰数的通项公式、递推公式及其在计算序列出栈顺序、构造二叉树、解决棋盘路径问题以及买票问题中的应用。通过将问题转化为满足特定条件的序列,可以利用卡特兰数进行求解,揭示了数学在解决实际问题中的美妙之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

卡特兰数:

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

2递推公式:h(n)=((4*n-2)/(n+1))*h(n-1); h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)*h(0).

3前几项为:h(0)=1,h(1)=1,h(2)=2,h(3)=5,h(4)=14,h(5)=42,......

应用:

(1)序列出栈的情况总数:

比如123 共有5种出栈顺序。对于n个数出入栈,入栈记为1,出栈记为0.则出入栈序列为1101001。。。

但是要保证从左往右看,1的个数大于0的个,因为入栈个数要大于出栈个数。

于是我们的序列长度为2n,其中有n个1,n个0.总数:C(n,2n)。

不符合要求的数为:C(n+1,2n)

(2)给出n个点,求组成二叉树的所有种数,2个点组成2种二叉树,3个点组成5种二叉树

解题思路和(1)相似。根节点看做1,有孩子为1,没有为0。中序遍历仍然可以看做为一个(1)中的序列。

按照卡特兰数进行求解。

(3)给出一个棋盘n*n,求从左下角到右上角的不经过对角线的所有走法

解题思路:把向右(向左)走看做1,向上走看做0。行走的序列是一个卡特兰序列。按照卡特兰数进行求解。

注意棋盘是对称的,求出的树*2

(4)买票问题:有m个人手里拿的是50元的,n个人拿的是100元的,问使买票过程不中断的排队方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值