catalan数列研究与应用

合集下载

卡特兰用途

卡特兰用途

卡特兰用途卡特兰是一种数学组合数列,它在很多数学和计算问题中有重要的应用。

在本文中,我将详细介绍卡特兰数列的定义、性质以及它们的多种应用领域。

首先,让我们来介绍一下卡特兰数列的定义。

卡特兰数列是一组由以下递推关系给出的整数序列:C0 = 1,Cn+1 = Σ(i=0 to n) Ci*Cn-i。

换句话说,卡特兰数列满足以下递推关系:C0 = 1,Cn+1 = C0*Cn + C1*Cn-1 + ... + Cn*C0。

其中,Ci表示第i个卡特兰数。

卡特兰数列具有许多有趣的性质。

首先,卡特兰数列的前几个数是:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, ...。

我们可以看到,卡特兰数列的增长速度非常快,随着n的增大,数值呈指数级增长。

其次,卡特兰数列是对称的,即Cn = Cn。

另外,卡特兰数列还满足递增性质,即Cn < Cn+1。

这些性质使得卡特兰数列在计算和应用中非常有用。

卡特兰数在计算问题中有着广泛的应用。

首先,卡特兰数被广泛应用于组合计数问题中。

例如,给定一个有n个节点的无向树,卡特兰数可以用来计算该树的不同形态的二叉树个数。

另外,卡特兰数还可以用来计算括号表达式的合法性。

具体地说,给定一个由n个左括号和n个右括号组成的括号序列,卡特兰数可以帮助我们计算出所有合法的括号序列的个数。

这个问题的一个典型应用是将n 对括号正确地嵌套在一起的方式的计数。

卡特兰数还被用于计算棋盘上两个点之间不经过对角线的所有路径的数量。

卡特兰数还在图论中有着广泛的应用。

例如,卡特兰数可以用来计算括号序列对应的有向图中所有不同的拓扑排序的个数。

拓扑排序是一个有向图的顶点的线性排序,使得对于图中的每一对顶点(vi, vj),如果存在一条从vi到vj的边,则在排序中vj出现在vi之后。

卡特兰数还可以用来计算一个有n个节点的有向无环图的所有不同的折叠排序的个数。

折叠排序是一个有向无环图的顶点的线性排序,使得对于图中的每一对顶点(vi, vj),如果存在一条从vi到vj的边,则在排序中vj出现在vi之前。

组合数学-第十一节:Fibonacci数和Catalan数

组合数学-第十一节:Fibonacci数和Catalan数

4.5 Fibonacci 数和Catalan 数Fibonacci 数列和Catalan 数列是递推关系的典型问题,它们经常出现在组合计数问题中,而这两个数列本身的应用也十分广泛。

4.5.1 Fibonacci 数关于Fibonacci 数列的问题是一个古老的数学问题,它是由意大利著名数学家Fibonacci 于1202年提出来的。

这个问题是:把一对兔子(雌、雄各一只)在某年的开始放到围栏中,每个月这对兔子都生出一对新兔子,其中雌、雄各一只。

从第二个月开始,每对新兔子每个月也生出一对新兔子,也是雌、雄各一只。

问一年后围栏中有多少对兔子?对于1,2,n = ,令()f n 表示第n 个月开始时围栏中的兔子对数。

显然有()()11,22f f ==。

在第n 个月的开始,那些第1n -个月初已经在围栏中的兔子仍然存在,而且每对在第2n -个月初就存在的兔子将在第1n -个月生出一对新兔子,所以有()()()()()()12311,22f n f n f n n f f =-+-≥⎧⎪⎨==⎪⎩ (4.5.1)这是一个带有初值的递推关系,如果我们规定()01f =,则递推关系(4.5.1)就变成()()()()()()12201,11f n f n f n n f f =-+-≥⎧⎪⎨==⎪⎩ (4.5.2)满足递推关系(4.5.2)的数列就叫做Fibonacci 数列,它的项就叫做Fibonacci 数。

下面我们来求解这个递推关系,它的特征方程为210x x --=其特征根为12x x ==所以,通解为()121122n nf n c c ⎛⎛+=+ ⎝⎭⎝⎭代入初值来确定1c 和2c ,得到方程组12121,11122c c c +=⎧⎪⎨++=⎪⎩ 解这个方程组,得121,212cc+==所以,原递推关系的解为()()110,1,2n nf nn++=⎭⎭=Fibonacci数常出现在组合计数问题中。

卡特兰数——Catalan数(从一道腾讯笔试题引发的学习和思考)

卡特兰数——Catalan数(从一道腾讯笔试题引发的学习和思考)

2014-04-16 09:14 1252人阅读评论(0) 收藏举报分类:大公司面试笔试(34)版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]时间:2014.04.15地点:基地-----------------------------------------------------------------------------一、故事背景卡特兰数是离散数学中的一个重要数列,是很多生活场景的一个抽象,比如买早餐啦,买电影票啦等等。

在很多大公司的笔试或者面试题中也常涉及到。

-----------------------------------------------------------------------------二、卡特兰数的引出在x-y坐标平面上,考虑两种一格一格的移动,每一次平移我们可以上移一格,也可以下移一格,左移或者右移也是一样。

姑且这样定义:右移U: (X,Y)——。

(x+1,y) 上移U: (X,Y)——>(x,y+1)现在问通过这两种移动每次移动一次,有多少种方法可以从点(0,0)移动到点(5,5),这显然是5个R和5个U的组合排列,共十次移动,10选5就可以了,C(10,5)比如:RRUURRURUU 是符合要求的我们再加点限制,在这个过程中不可越过直线y=x,但可接触。

于是你该知道,这样的限制意味着,移动到每一点时,所经过的R的个数一定大于或等于U的个数,如果小于则不合要求。

比如: RRUURRURUU 符合限制条件比如:RUUURRRUUR 就是不和限制条件对于不符合限制条件的情形来说,我们先把它在第一次越过y=x点处断开,分为两个部分RUUURRRUUR然后第一部分因为符合要求不变,第二部分做翻转操作,即R变U,U变R,于是得RURRUUURRU其实这样的分法,我们可以想到,在第一次越过直线时分开,即会导致前面部分得U比R多一个,而后面部分的R会比U多一个,一翻转就是U比R多一个,如此,总共翻转序列后U就比R多出两个,比如此处R只有4个U却有5个。

Catalan数列探究与应用

Catalan数列探究与应用

0 1 1 1 1 1 1 1
2003-4
1 1 2 3 4 5 6 7
2 2 5 9 14 20 27
3
4
5
6
7
1 2 3 4 5 6 7
5 14 28 48 75 14 42 90
165
42
132 297 132 429 429
10
华师大二附中 高一(1)班 戴明劼
联想杨辉三角,斜置式如下表 其表达式为
Catalan数列 数列 探究与应用
Catalan数阵f (i, j)的通项公式
2003-4 华师大二附中 高一(1)班 戴明劼 9
求: Catalan数阵 f ( i, j ) = ? Catalan数阵 首先观察Catalan数阵的结构,见下表 首先观察Catalan数阵的结构,见下表
i j
Catalan数列 数列 探究与应用
2003-4 华师大二附中 高一(1)班 戴明劼 3
研究思路 综合应用已学过的(中学)知识 着重研究形成规律,内在结构与性质、特点 深入揭示其本质,为应用打下更坚实的基础 研究目的 探索数学的无穷奥秘 真正做到知其然、知其所以然; 提高综合运用已有知识 解决未遇到过的难题的能力; 期望能在方法上、或概念上、或应用上 能对Catalan数的研究做出一些贡献。
1 0 0 0 0 0 0 0
2
3
4
5
6
7
1 2 3 4 5 6 7
1 1 5 1 6 21 1 7 28 84 1 8 36 120 1 9 45 华师大二附中 高一(1)班 戴明劼 165
330 495
12
1287
可发现有如下关系式:
Catalan数列 数列 探究与应用

Catalan数列

Catalan数列

Catalan数列定义1设有数列{b n}n∈N,若{b n}n∈N满足b0=1且任意n∈N,都有b n+1=b0b n+b1b n−1 +...+b n b0,则我们称数列{b n}n∈N为Catalan数列.定理1唯一存在序列{b n}n∈N使得{b n}n∈N是Catalan数列.证明(存在性)设性质P(x,y)为x是函数且存在n∈N∗使得dom(x)={0,1,..., n−1}且y=x(0)x(n−1)+x(1)x(n−2)+...+x(n−1)x0,或x不是函数或任意n∈N∗,都有dom(x)={0,1,...,n−1}且y=1.于是唯一存在二元关系G使得任意x,y,xGy当且仅当P(x,y).现在证明G是函数.事实上,设x,y1,y2满足xGy1,xGy2,则P(x,y1),P(x,y2),于是x 是函数且存在n∈N∗使得dom(x)={0,1,...,n−1}且y1=x(0)x(n−1)+x(1)x(n−2)+... +x(n−1)x0,或x不是函数或任意n∈N∗,都有dom(x)={0,1,...,n−1}且y1=1;且x是函数且存在n′∈N∗使得dom(x)={0,1,...,n′−1}且y2=x(0)x(n′−1)+x(1)x(n′−2)+...+ x(n′−1)x0,或x不是函数或任意n′∈N∗,都有dom(x)={0,1,...,n′−1}且y2=1.如果x是函数且存在n∈N∗使得dom(x)={0,1,...,n−1}且y1=x(0)x(n−1)+x(1) x(n−2)+...+x(n−1)x0,x是函数且存在n′∈N∗使得dom(x)={0,1,...,n′−1}且y2= x(0)x(n′−1)+x(1)x(n′−2)+...+x(n′−1)x0,则显然n=n′且y1=y2;如果x是函数且存在n∈N∗使得dom(x)={0,1,...,n−1}且y1=x(0)x(n−1)+x(1) x(n−2)+...+x(n−1)x0,x不是函数或任意n′∈N∗,都有dom(x)={0,1,...,n′−1}且y2=1,由于x是函数,因此任意n′∈N∗,都有dom(x)={0,1,...,n′−1},即dom(x)={0,1, ...,n−1},矛盾;如果x不是函数或任意n∈N∗,都有dom(x)={0,1,...,n−1}且y1=1,x是函数且存在n′∈N∗使得dom(x)={0,1,...,n′−1}且y2=x(0)x(n′−1)+x(1)x(n′−2)+...+x(n′−1) x0,由于x是函数,因此任意n∈N∗,都有dom(x)={0,1,...,n−1},即dom(x)={0,1,..., n′−1},矛盾;如果x不是函数或任意n∈N∗,都有dom(x)={0,1,...,n−1}且y1=1,x不是函数或任意n′∈N∗,都有dom(x)={0,1,...,n′−1}且y2=1,则y1=y2=1;因此G是函数.显然我们有dom(G)⊆V.现在设x∈V,如果x是函数且存在n∈N∗使得dom(x)={0,1,...,n−1},则令y=x(0)x(n′−1)+x(1)x(n′−2)+...+x(n′−1)x0,即得P(x,y),于是xGy,即x∈dom(G);如果x不是函数或任意n∈N∗,都有dom(x)={0,1,...,n−1},则P(x,1),于是xG1,即x∈dom(G),因此V⊆dom(G),即dom(G)=V,由于ran(G)⊆V,因此G:V→V.根据良序集上的递归定理,我们有唯一存在函数b使得dom(b)=N且任意n∈N,都有b n=G(b|{0,1,...,n−1}).由于b|{0,1,...,0−1}=∅,因此任意m∈N∗,都有dom(b|{0,1,...,0−1})=∅={0,1, ...,m−1},于是P(b|{0,1,...,0−1},1),即b0=G(b|{0,1,...,n−1})=1.现设n∈N,则n+1∈N∗且b|{0,1,...,n}是函数且dom(b|{0,1,...,n})={0,1,...,n}.令y=(b|{0,1,...,n})(0)(b|{0,1,...,n})(n)+...+(b|{0,1,...,n})(n)(b|{0,1,...,n})(0) =b0b n+b1b n−1+...+b n b0,则P(b|{0,1,...,n},y),即b n+1=G(b|{0,1,...,n})=y=b0b n+ b1b n−1+...+b n b0.于是我们有{b n}n∈N是Catalan数列,存在性得证;(唯一性)设{b n}n∈N,{c n}n∈N都是Catalan数列.设n∈N且任意k∈N,若k<n,则b k=c k.若n=0,由于{b n}n∈N,{c n}n∈N都是Catalan数列,因此b0=c0=1;若n=0,则b0=c0,b1=c1,...,b n−1=c n−1,于是b n=b0b n−1+b1b n−2+...+b n−1b0=c0c n−1 +c1c n−2+...+c n−1c0=c n.于是根据第二数学归纳法,我们有b n=c n对一切n∈N都成立,即b=c,唯一性得证.以上定理的证明实质上是递归定理的简单应用,如果读者不太了解递归定理,大可忽略其证明,光知道这个结论对阅读本文已经足够了.知道了Catalan数列是唯一存在的,一个自然的问题是:它的通项公式是什么?我们在解答这个问题之前,先举几个具体的例子.这些例子表面上风马牛不相及,实际上它们都有着相同的答案:Catalan数.例题1设一台自动售货机在销售一种五角钱的商品,并且该自动售货机只接受面额为五角和一元的两种硬币.由于工作人员的疏忽,他们忘了在自动售货机里放有备用的零钱.现在有n个五角硬币和n个一元硬币(两个同面额的硬币不加区分)随机投入该自动售货机,问:有多少种投入方式,使得每次投入一元硬币时,总能使自动售货机有钱找零?解我们将有限序列<x1,x2,...,x2k>称为k个五角硬币与k个一元硬币的投入当且仅当任意1≤i≤2k都有x i=五角硬币或x i=一元硬币且|{j|x j=五角硬币}|= |{j|x j=一元硬币}|=k.显然,这个定义模拟了将k个五角硬币和k个一元硬币依次投入自动售货机的过程.特别的,若k=0,则投入序列为空序列<>.对于k个五角硬币与k个一元硬币的一个投入<x1,x2,...,x2k>,如果满足任意1≤t≤2k,都有|{j≤t|x j=五角硬币}|≥|{j≤t|x j=一元硬币},则我们称<x1,x2,...,x2k>是k个五角硬币与k个一元硬币的一个有效投入.特别的,若k=0,则<>也是有效投入.现证明对于k个五角硬币与k个一元硬币的一个投入<x1,x2,...,x2k>,<x1,x2, ...,x2k>是k个五角硬币与k个一元硬币的有效投入当且仅当<x1,x2,...,x2k>满足每次投入一元硬币时,总能使自动售货机有钱找零.设<x1,x2,...,x2k>是k个五角硬币与k个一元硬币的一个投入.如果这个投入是一个有效投入,则任意1≤t≤2k,都有|{j≤t|x j=五角硬币}|≥|{j≤t|x j=一元硬币}.我们设t∈N∗且t≤k,并且对一切s<t,都有当投入第s个一元硬币时,自动售货机有五角硬币找零.我们设第t个一元硬币投入是第w次投入,即x w=一元硬币且|{j≤w|x j=一元硬币}|=t,于是|{j≤w|x j=五角硬币}|≥t,根据归纳假设,由于在投入第t 个一元硬币之前,每次投入一元硬币,自动售货机都有五角硬币来找零,因此之前共用去t−1个五角硬币找零,由于|{j≤w|x j=五角硬币}|≥t,因此当第t个一元硬币投入时,自动售货机内至少还有一个五角硬币,于是可以找零.因此根据第二数学归纳法,我们有<x1,x2,...,x2k>满足每次投入一元硬币时,总能使自动售货机有钱找零.另一方面,设<x1,x2,...,x2k>满足每次投入一元硬币时,总能使自动售货机有钱找零.若x1=一元硬币,由于自动售货机事先没有零钱,因此此时无法找零,矛盾,于是x1=五角硬币,即|{j≤1|x j=五角硬币}|=1>0=|{j≤1|x j=一元硬币}|.现在设t<2k且|{j≤t|x j=五角硬币}|≥|{j≤t|x j=一元硬币}|.若x t+1=五角硬币,则|{j≤t+1|x j=五角硬币}|=|{j≤t|x j=五角硬币}|+1且|{j≤t+1|x j=一元硬币}|=|{j≤t| x j=一元硬币}|,即|{j≤t+1|x j=五角硬币}|≥|{j≤t+1|x j=一元硬币}|;若x t+1=一元硬币,则|{j≤t+1|x j=五角硬币}|=|{j≤t|x j=五角硬币}|且|{j≤t+1|x j=一元硬币}|=|{j≤t| x j=一元硬币}|+1,如果此时|{j≤t|x j=五角硬币}|=|{j≤t|x j=一元硬币}|,由于每次投入一个一元硬币都会用去自动售货机内的一个五角硬币来找零,因此当x t+1投入时,自动售货机将没钱找零了,矛盾.于是|{j≤t|x j=五角硬币}|>|{j≤t|x j=一元硬币}|,即|{j≤t+1|x j=五角硬币}|≥{j≤t+1|x j=一元硬币}|,于是根据数学归纳法,我们有<x1, x2,...,x2k>是一个有效投入.我们记B k={x|x是k个五角硬币与k个一元硬币的有效投入},并且令b k=|B k|.显然b n即为我们所求.特别的,我们有B0={<>}且b0=1.现在令B ik={x|x是k个五角硬币与k个一元硬币的有效投入且|{j≤2i|x j=一元硬币}| =i且任意t<2j,都有|{j≤t|x j=五角硬币}|>|{j≤t|x j=一元硬币}|}.显然,任意i,j∈{1,2,...,k},若i=j,则B ik ∩B jk=∅.否则,不妨设i<j,即2i<2j,如果B ik∩B jk=∅,则存在x使得x∈B ik ∩B jk,由x∈B jk知|{t≤2i|x t=五角硬币}|>|{t≤2i|x t=一元硬币}|,但由x∈B ik知|{t≤2i|x t=五角硬币}|=|{t≤2i|x t=一元硬币}|=i,矛盾.现在证明任意k>0,B k=k∪i=1B ik.由于任意1≤i≤k,都有B ik⊆B k,因此k∪i=1B ik⊆B k;另一方面,设x∈B k,即x是k个五角硬币与k个一元硬币的一个有效投入.令S= {s∈[1,2k]||{j≤s|x j=五角硬币}|=|{j≤s|x j=一元硬币}|}.显然2k∈S,即S=∅,令t是S 中的最小数,我们令i=|{j≤t|x j=一元硬币}|.由t的最小性及x是有效投入知,任意j<t,都有|{j≤t|x j=五角硬币}|>|{j≤t|x j=一元硬币}|.由于|{j≤t|x j=五角硬币}|=|{j≤t|x j=一元硬币}|,因此t是偶数,令i=t2,则x∈B ik⊆k∪i=1B ik,于是B k⊆k∪i=1B ik,即B k=k∪i=1B ik.现在设1≤i≤k.我们证明|B ik|=|B i−1×B k−i|.我们定义二元关系f为任意x,y,xfy当且仅当x∈B ik且y=(<x2,x3,...,x2i−1>,<x2i+1,...,x2k>).首先证明f 是函数,事实上,若x,y 1,y 2满足xfy 1,xfy 2,则y 1=(<x 2,x 3,...,x 2i −1>,<x 2i +1,...,x 2k >)=y 2,即f 是函数.现在设x ∈dom(f ),则存在y 使得xfy ,即x ∈B i k ,于是dom(f )⊆B i k ;另一方面,设x ∈B i k ,令y =(<x 2,x 3,...,x 2i −1>,<x 2i +1,...,x 2k >),即得xfy ,即x ∈dom(f ),于是B i k ⊆dom(f ),因此dom(f )=B i k .现在设y ∈ran(f ),则存在x 使得xfy ,即x ∈B i k 且y =(<x 2,x 3,...,x 2i −1>,<x 2i +1,...,x 2k >).由于x ∈B i k ,因此|{j ≤2i |x j =五角硬币}|=|{j ≤2i |x j =一元硬币}|=i 且|{j ≤2i −1|x j =五角硬币}|>|{j ≤2i −1|x j =一元硬币}|,因此x 2i =一元硬币.显然x 1=五角硬币,于是|{2≤j ≤2i −1|x j =五角硬币}|=|{2≤j ≤2i −1|x j =一元硬币}|=i −1.由于x ∈B i k ,因此任意t ≤2i −1,都有|{j ≤t |x j =五角硬币}|>|{j ≤t |x j =一元硬币}|,因此任意t ≤2i −1,都有|{2≤j ≤t |x j =五角硬币}|≥|{2≤j ≤t |x j =一元硬币}|.于是<x 2,...,x 2i −1>∈B i −1.由于|{j ≤2i |x j =五角硬币}|=|{j ≤2i |x j =一元硬币}|=i ,因此|{2i<j ≤2k |x j =五角硬币}|=|{2i<j ≤2k |x j =一元硬币}|=k −i ,由于任意t ≤2k ,都有|{j ≤t |x j =五角硬币}|≥|{j ≤t |x j =一元硬币}|,因此任意2i<t ≤2k,|{2i<j ≤t |x j =五角硬币}|≥|{2i<j ≤t |x j =一元硬币}|,即<x 2i +1,...,x 2k >∈B k −i ,于是y ∈B i −1×B k −i ,即ran(f )⊆B i −1×B k −i ;另一方面,设y ∈B i −1×B k −i ,则存在<u 1,u 2,...,u 2i −2>∈B i −1,<v 1,v 2,...,v 2k −2i >∈B k −i 使得y =(<u 1,u 2,...,u 2i −2>,<v 1,v 2,...,v 2k −2i >).令x =<五角硬币,u 1,u 2,...,u 2i −2,一元硬币,v 1,...,v 2k −2i >,显然y =(<x 2,x 3,...,x 2i −1>,<x 2i +1,...,x 2k >)且|{j ≤2k |x j =五角硬币}|=|{j ≤2k |x j =一元硬币}|=(i −1)+1+(k −i )=k .现在设t<2i,由于|{j ≤t |u j =五角硬币}|≥|{j ≤t |u j =一元硬币}|且x 1=五角硬币,因此|{j ≤t |x j =五角硬币}|>|{j ≤t |x j =一元硬币}|.显然|{j ≤2i |x j =五角硬币}|=|{j ≤2i |x j =一元硬币}|=i .最后设t ≤2k ,若t ≤2i ,则我们已有|{j ≤t |x j =五角硬币}|≥|{j ≤t |x j =一元硬币}|,若t>2i,由于|{j ≤t |v j =五角硬币}|≥|{j ≤t |v j =一元硬币}|且|{j ≤2i |x j =五角硬币}|=|{j ≤2i |x j =一元硬币}|,因此|{j ≤t |x j =五角硬币}|≥|{j ≤t |x j =一元硬币}|,即x ∈B i k,于是xfy ,即y ∈ran(f ),于是B i −1×B k −i ⊆ran(f ),即ran(f )=B i −1×B k −i ,因此f 是B i k到B i −1×B k −i 的满射.最后证明f 是单射.事实上,若x,x ′满足f (x )=f (x ′),则x,x ′∈B i k且(<x 2,...,x 2i −1>,<x 2i +1,...,x 2k >)=(<x ′2,...,x ′2i −1>,<x ′2i +1,...,x ′2k >),于是x j =x ′j 对一切j ∈{2,...,2i −1,2i +1,...,2k }成立.由于x,x ′∈B i k ,因此显然x 1=x ′1=五角硬币且x 2i =x ′2i =一元硬币,即x =x ′,于是f 是单射,即f 是B i k 到B i −1×B k −i 的双射,因此|B i k |=|B i −1×B k −i |,根据乘法原理,我们有|B i k |=b i −1b k −i .最后设k ∈N ,则B k +1=k +1∪i =1B i k +1且任意1≤i,j ≤k +1,若i =j ,则B i k +1∩B j k +1=∅,于是根据加法原理,我们有b k +1=|B k +1|=|B 1k +1|+|B 2k +1|+...+|B k +1k +1|=b 0b k +b 1b k −1+...+b k b 0,再考虑到b0=1,我们便知{b k }k ∈N 为Catalan 数列.例题2将n 个直径相同,但编号两两不同的小球按编号从小到大的顺序排成一排,依次投入一个一头密闭的圆柱形容器(编号小的先投入),已知在该容器底部装有一个弹簧,因此进入容器的小球会不定时的反弹出来,又知容器口的直径在球的直径与两倍球的直径之间,即不可能有两个小球同时进出且后进去的小球会先弹出,问:共有多少个小球的弹出序列?解如果有限序列<x1,x2,...,x k>满足x1,x2,...,x k两两不同,并且任意1<t<i<j<k,若x i,x j<x t,则x i>x j,则我们称这个序列是个可能序列.我们现在设k个小球的编号为p1<p2<...<p k,现在证明序列<x1,x2,...,x k>是这k个小球的一个弹出序列当且仅当<x1,x2,...,x k>是p1,p2,...,p k的一个排列且<x1,x2,...,x k>是可能序列.现在设<x1,x2,...,x k>是这k个小球的一个弹出序列,由于每个球恰被弹出一次,因此<x1,x2,...,x k>是p1,p2,...,p k的一个排列.若<x1,x2,...,x k>不是可能序列,则存在1<t<i<j<k使得x i,x j<x t且x i≤x j,由于<x1,x2,...,x k>是p1,p2,...,p k 的一个排列,因此x i=x j,即x i<x j.由于x i,x j<x t,因此x i,x j在x t之前进入容器,又由于i,j>k,因此当x t被弹出时,x i,x j还在容器中没被弹出,由于x i<x j由’后进先出’的原理知,j<i,这与i<j矛盾,于是<x1,x2,...,x k>是可能序列;另一方面,设<x1,x2,...,x k>是p1,p2,...,p k的一个排列且<x1,x2,...,x k>是可能序列.我们现在证明任意1≤s≤k,都能只投入p1,p2,...,max{x1,x2,...,x s},就能使得x1,x2,...,x s按这个顺序弹出.显然,我们连续投入p1,p2,...,x1=max{x1}而在投入x1之前小球都不弹出,知道投入x1后,弹出x1,这就实现了只投入p1,p2,...,max{x1}就能使得只弹出x1.现在设1≤s<k且只投入p1,p2,...,max{x1,x2,...,x s},就能使得x1,x2,...,x s按这个顺序弹出.显然x s=max{x1,x2,...,x s}.若x s+1>max{x1,...,x s},则我们再投人p max{x1,...,x s}+1,...,x s+1并且之间不让任何球弹出,直到投入x s+1后让x s+1弹出,这时max{x1,x2,...,x s+1}=x s+1且只投入p1,p2,...,x s+1就能使x1,...,x s+1按这个顺序弹出;若x s+1<max{x1,x2,...,x s},则此时说明x s+1已经投入了容器且尚未弹出.我们现在证明x s+1是现在留在容器中编号最大的一个小球.若不然,还有一个编号更大的小球y也留在容器中,即x s+1<y,由于y还在容器中,因此y/∈{x1,x2,...,x s}且y<max{x1,x2,...,x s},于是存在j>s+1使得y=x j.由于<x1,x2,...,x k>是可能序列,因此x s+1>x j=y,这与y<x s+1矛盾.因此x s+1是留在容器里编号最大的小球,因此它可以被弹出,即此时投入的小球只有p1,p2,...,max{x1,...,x s}=max{x1,...,x s+1},且x1,x2,...,x s+1按这个顺序弹出.于是根据数学归纳法,我们有任意1≤s≤k,都能只投入p1,p2,...,max{x1,x2,...,x s},就能使得x1,x2,...,x s按这个顺序弹出.于是我们有<x1,x2,...,x k>是弹出序列.对于k个编号为p1<p2<...<p k的小球,我们记B(p1,p2,...,p k)为这k个小球的所有弹出序列构成的集合.现在证明k个编号为p1<p2<...<p k的小球及k个编号为p′1<p′2<...<p′k的小球,|B(p1,p2,...,p k)|=|B(p′1,p′2,...,p′k)|.我们定义映射φ:{p1,p2,...,p k} →{p′1,p′2,...,p′k}:p i→p′i.显然φ是个保序的双射.现在定义二元关系f为任意x,y,xfy当且仅当x∈B(p1,p2,...,p k)且y=φ◦x.首先证明f是函数,事实上,设x,y1,y2满足xfy1,xfy2,则y1=φ◦x=y2,即f是函数.现在设x∈dom(f),则存在y使得xfy,于是x∈B(p1,p2,...,p k),即dom(f)⊆B(p1,p2,...,p k);另一方面,设x∈B(p1,p2,...,p k),则令y=φ◦x,即得xfy,即x∈dom(f),于是B(p1,p2,...,p k)⊆dom(f),因此dom(f)=B(p1,p2,...,p k).现在设y∈ran(f),则存在x使得xfy,于是x∈B(p1,p2,...,p k),且y=φ◦x.由于x:{1,2,...,k} →{p1,p2,...,p k},φ:{p1,p2,...,p k} →{p′1,p′2,...,p′k}是双射,因此y:{1,2,...,k} →{p′1,p′2,...,p′k}是双射,即y是p′1,p′2,...,p′k的一个排列.现在设1≤t<i<j≤k且y i,y j<y t.于是φ−1(y i),φ−1(y j)<φ−1(y t),由于x=φ−1◦y,因此φ−1(y i)=x i,φ−1(y j)=x j,φ−1(y t)=x t,即x i,x j<x t,由于x是可能序列,因此x i>x j,即y i=φ(x i)>φ(x j)=y j,即y是可能序列,于是y是p′1,p′2,...,p′k的弹出序列,即y∈B(p′1,p′2,...,p′k),因此ran(f)⊆B(p′1,p′2,...,p′k);另一方面,设y∈B(p′1,p′2,...,p′k),令x=φ−1◦y,则显然y=φ◦x且x是p1,p2,...,p k的一个排列.现在设1≤t<i<j≤k且x i,x j<x t,由于y i=φ(x i),y j=φ(x j),y t=φ(x t),因此y i,y j<y t,由于y是可能序列,因此y i>y j,即x i>x j,即x是可能序列,于是x是p1,p2,...,p k的弹出序列,即x∈B(p1,p2,...,p k),因此xfy,即y∈ran(f),于是B(p′1,p′2,...,p′k)⊆ran(f),因此ran(f)=B(p′1,p′2,...,p′k),即f是B(p1,p2,...,p k)到B(p′1,p′2,...,p′k)的满射.最后证明f是单射函数.事实上,若x,x′满足f(x)=f(x′)=y,则y=φ◦x,y=φ◦x′,于是x=φ−1◦y=x′,即f是单射函数.于是f是B(p1,p2,...,p k)到B(p′1,p′2,...,p′k)的双射,即|B(p1,p2,...,p k)|=|B(p′1,p′2,...,p′k)|.这说明k个小球的弹出序列的数量与小球的编号无关.现在设k>0且k个小球的编号以小到大分别为p1,p2,...,p k.对于任意1≤i≤k,令B i(p1,p2,...,p k)={x∈B(p1,p2,...,p k)|x i=p1}.显然任意1≤i,j≤k,若i=j,则B i(p1,p2, ...,p k)∩B j(p1,p2,...,p k)=∅且B(p1,p2,...,p k)=k∪i=1B i(p1,p2,...,p k).现在设1≤i≤k,我们证明|B i(p1,p2,...,p k)|=|B(p2,...,p i)×B(p i+1,...,p k)|.定义二元关系g使得任意x,z,xgz当且仅当x∈B i(p1,p2,...,p k)且z=(<x1,x2,...,x i−1>,<x i+1,x i+2,...,xk>).容易证明g是函数且dom(g)=B i(p1,p2,...,p k).现在设z∈ran(g),则存在x使得xgz,于是x∈B i(p1,p2,...,p k)且z=(<x1,x2,...,x i−1>,<x i+1,x i+2,...,xk>).由于x i=p1,若存在j≤i−1使得x j>p i,则存在s>i,w≤i 使得x s=p w,于是x i=p1<x j,x s<x j,由于x是可能序列,因此x i>x s,即p1>p w,矛盾,于是任意j≤i−1,都有x j≤p i,于是<x2,x3,...,x i−1>是p2,p3,...,p i的一个排列且<x i+1,x i+2,...,x k>是p i+1,...,p k的一个排列.现在设1≤t<w<s≤i−1且x w,x s<w t,由于x是可能序列,因此x w>x s;即<x2,...,x i−1>是可能序列,同理,<x i+1,x i+2,...,x k>也是可能序列,因此我们有<x2,...,x i−1>∈B(p2,...,p i)且<x i+1,x i+2,...,x k>∈B(p i+1,...,p k),即z∈B(p2,...,p i)×B(p i+1,...,p k),于是ran(g)⊆B(p2,...,p i)×B(p i+1,...,p k);另一方面,设z∈B(p2,...,p i)×B(p i+1,...,p k),则存在<y1,...,y i−1>∈B(p2,..., p i)且<r1,...,r k−i>∈B(p i+1,...,p k),使得z=(<y1,...,y i−1>,<r1,r2,...,r k−i>).令x=<y1,...,y i−1,p1,r1,r2,...,r k−i>,显然我们有x是p1,p2,...,p k的一个排列且x i=p1且z=(<x1,x2,...,x i−1>,<x i+1,x i+2,...,xk>).最后设1≤t<w<s≤k且x w ,x s <x t .如果t ≤i ,若s>i ,则x t ≤i 且x s ≥i +1,这与w s <x t 矛盾,于是s ≤i .若s =i ,则显然x w >p 1=x s ;若s<i ,由于<x 2,x 3,...,x i −1>是可能序列,因此x w >x s ;若t>i ,由于<x i +1,x i +2,...,x k >是可能序列,因此x w >x s ,于是x 是可能序列,即x ∈B i p 1,p 2,...,p k ,于是xgy ,即y ∈ran(g ),于是B (p 2,...,p i )×B (p i +1,...,p k )⊆ran(g ),即ran(g )=B (p 2,...,p i )×B (p i +1,...,p k ).因此g 是B i (p 1,p 2,...,p k )到B (p 2,...,p i )×B (p i +1,...,p k )的满射.现在设x,x ′满足g (x )=g (x ′)=z ,则x,x ′∈dom(g )=B i (p 1,p 2,...,p k )且z =(<x 2,...,x i >,<x i +1....,x k >)=(<x ′2,...,x ′i >,<x ′i +1....,x ′k >),即x j =x ′j 对一切j ∈{1,2,...,i −1,i +1,...,k }成立,由于x i =x ′i =p 1,于是x =x ′,即g 是单射.于是g 是B i (p 1,p 2,...,p k )到B (p 2,...,p i )×B (p i +1,...,p k )的双射,即|B i (p 1,p 2,...,p k )|=|B (p 2,...,p i )×B (p i +1,...,p k )|.对于k 个编号从小到大为p 1,...,p k 的小球,我们有记b k =|B (p 1,...,p k )|.显然b 0=1.于是根据加法原理和乘法原理,我们有b k +1=∑k +1i =1|B i (p 1,...,p k )|=∑k +1i =1b i −1b k +1−i ,即{b k }是Catalan 序列.例题3如图有一个有n 条水平线和n 条竖直线编成的交通网.有一只蜗牛想从A 点爬到B 点,并且它只能沿着直线向上或向右爬行,并且限制蜗牛只能在红色对角线的左上方爬行(可以碰到对角线,但不能穿越到对角线的右下方),问:这只蜗牛共有多少条路可以走?解对于n 条水平线和n 条竖直线编成的交通网,一条从A 到B 的路径就相当与一个由n 个’上’和n 个’右’构成的序列,由于不能穿越对角线,因此从左往右看,’右’的数量不能超过’上’的数量,于是和例1一样的分析,我们有蜗牛可走的路线数b n 是Catalan 数列.例题4对于一个二元树(每个节点最多有两个儿子),若满足1.根不编码;2.若一个节点有两个儿子时,左编的儿子编码0,右边的儿子编码1;3.若一个节点只有一个儿子时,这个儿子可以编码0,也可以编码1;则我们称这时个编码二元树,现在问,恰有n个节点的编码二元树共有多少棵?解我们设恰有n个节点的编码二元树共有b n棵.显然b0=1.现在考虑n+1个节点的编码二元树,这样的编码二元树一个可以分成n+1类,其中第i类为左边的分树有i−1个节点,右边的分树有n+1−i个节点.根据乘法原理,第i 类的编码二元树共b i−1b n+1−i,于是根据加法原理,我们有b n+1=b0b n+b1b n−1+...+b n b0,即{b n}为Catalan序列.由以上的例题可以看出很多计数问题都可以转换成Catalan序列来求解.于是求出Catalan序列的通项是必有的,于是我们有了下面的定理.定理2设有数列{b n}n∈N是Catalan数列,则任意n∈N,都有b n=1n+1C n2n.证明我们设c n=1n+1C n2n,显然c0=1.我们令f(x)=c0+c1x+c2x2+....根据Stirling公式,我们有limn→∞n√c n=limn→∞n√1n+1C n2n=limn→∞n√C n2n=limn→∞n√(2n)!(n!)2=lim n→∞n(2n)!√4nπ(2ne)2n2nπ(ne)2n(n!)2√4nπ(2ne)2n2nπ(ne)2n=4,于是f(x)在(−14,14)内有定义.令g(x)=xf(x)=c0x+c1x2+...,则g′(x)=c0+2c1x+...=C0+C12x+C24x2+....由于(1−4x)−12=C0−12+C1−12(−4x)+...,且C k−12(−4)k=(−4)k(−12)(−32)...(−2k−12)k!=2k 1·3·...·(2k−1)k!=2k(2k)!k!(2·4·...·2k)=(2k)!k!k!=C k2k,于是g′(x)=(1−4x)−12.由于g(0)=0,因此g(x)=∫x(1−4x)−12d x=−14∫x(1−4x)−12d(1−4x)=[−√1−4x2]x=1−√1−4x2.于是f(x)=1,x=01−√1−4x2x,x=0,即f2(x)=1,x=01−2x−√1−4x2x2,x=0,因此xf2(x)=0,x=01−√1−4x2x−1,x=0=f(x)−1,即f(x)=xf2(x)+1.另一方面,我们有xf2(x)+1=1+c0c0x+(c0c1+c1c0)x2+...,于是c n+1=c0c n+c1c n−1+...+c n c0,即{c n}是Catalan序列,于是b n=c n=1n+1C n2n.特别值得一题的是,以上定理的证明中用到了(1−4x )−12=∞∑k =0C k 2k x k 这个结论.我们将这个结论发展一下,便可得到以下推论.推论1我们有C 00C n 2n +C 12C n −12n −2+...+C n 2n C 00=4n .证明令f (x )=(1−4x )−12=∞∑k =0C k 2k x k ,则f 2(x )=11−4x =1+4x +42x 2+...,另一方面,我们有f 2(x )=C 00C 00+(C 00C 12+C 12C 00)x +(C 00C 24+C 12C 12+C 24C 00)x 2+...,于是我们有C 00C n 2n +C 12C n −12n −2+...+C n 2n C 00=4n .。

catalan数的定义

catalan数的定义

catalan数的定义Catalan 数是一种在组合数学中常见的数列,它得名于比利时数学家欧仁·查尔斯·卡塔兰(Eugène Charles Catalan)。

Catalan 数在数学和计算机科学中有着广泛的应用,尤其在组合计数、图论和动态规划等领域。

Catalan 数的定义是一种递归关系,可以用以下公式表示:Cn = C0*C(n-1) + C1*C(n-2) + ... + C(n-1)*C0其中Cn表示第n个Catalan 数,C0、C1、...、C(n-1)分别表示前n-1个 Catalan 数。

Catalan 数的计算可以通过动态规划方法来实现。

我们从C0开始,逐步计算出C1、C2、C3...直到Cn。

首先,我们知道C0=1,然后根据递推关系计算C1、C2...直到Cn。

最后得到的Cn即为所求的Catalan 数。

Catalan 数有许多重要的性质和应用。

首先,Catalan 数可以用来计算括号匹配的组合数。

例如,在一个有效的括号序列中,左括号的数量必须与右括号的数量相同,并且任意前缀中左括号的数量都不少于右括号的数量。

假设有n对括号,那么可以通过Catalan 数计算出所有可能的有效括号序列的数量。

Catalan 数还可以用于计算凸多边形的划分数。

对于一个n+2边的凸多边形,可以通过划分将其分解为n个三角形。

Catalan 数可以用来计算出所有可能的凸多边形划分数。

另一个应用是在计算卡特兰数的排列时,可以用于计算n个节点的二叉树的数量。

二叉树是一种常见的数据结构,其具有广泛的应用。

通过Catalan 数,我们可以得知在给定n个节点的情况下,可以构建多少种不同形状的二叉树。

除了以上应用之外,Catalan 数还与许多其他组合计数问题有关。

例如,在图论中,Catalan 数可以用来计算出不同的拓扑排序序列的数量。

在排列组合中,Catalan 数可以计算出满足特定条件的排列的数量。

与Catalan数有关的组合问题研究

与Catalan数有关的组合问题研究
n
un+ 1 = 1 13 路径问题
r= 1
6
u r u n- r+ 1
( 3)
从平面直角坐标系上的 O( 0 , 0) 点出发 , 到达 A( n, n) 点 , 要求中途所经过的点( a, b) 满足关系 a [ b。 问行走的可能路径数 g n 是多少 ? 1 14 乘法结合方式问题 设有 n 个元素 a 1 , a 2 , , , a n , 在其前后次序不变的情况下, 每次只对 2 个元素进行乘法, 以括号决定乘
的先后顺序, 不同的相乘方式 Cn 有多少种 ? 这是 Catalan 最早研究的问题。
2
2 11
Catalan 数的推导方法
迭代递推方法 由于 A 1 = 1, 由式( 1 ) 得:
n- 2
An - 2 An-
1
=
k= 2
6
AkA n- k
代入式( 2) 可得: ( n - 3 ) A n- 1 = 即: nA n = ( 4n - 6) A n- 1 记 nA n = E n , 则 : E n = 2( 2 n- 3) E nn- 1 即: En = ( 2n - 2) ( 2n - 3 ) E n- 1 ( n - 1) ( n- 1) 而 E 1 = A1 = 1 , 由此得: En = = En E n- 1 E3 E2 ( 2n - 2) ( 2 n - 3) ( 2 n- 4) ( 2n - 5 ) 4# 3 2# 1 # # , # # = # # , # E n- 1 E n- 2 E2 E1 ( n - 1) ( n- 1) ( n- 2) ( n - 2) 2# 2 1# 1 ( 2 n- 2) ! = ( n - 1) ! ( n- 1) ! 2 n- 2 n- 1

catalan数的应用

catalan数的应用

一、关于卡特兰数卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, ...二、卡特兰数的一般公式卡特兰数满足以下性质:令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(n)=c(2n,n)-c(2n,n+1)(n=0,1,2,...)。

这个公式还可以更简单得化为h(n)=C(2n,n)/(n+1)。

后一个公式都可以通过前一个公式经过几步简单的演算得来,大家可以拿起笔试试,一两分钟就可以搞定。

三、卡特兰数的应用卡特兰数经常出现在OI以及ACM中,在生活中也有广泛的应用。

下面举几个例子。

1、出栈次序:一个栈(无穷大)的进栈次序为1、2、3……n。

不同的出栈次序有几种。

我们可以这样想,假设k是最后一个出栈的数。

比k早进栈且早出栈的有k-1个数,一共有h(k-1)种方案。

比k晚进栈且早出栈的有n-k个数,一共有h(n-k)种方案。

所以一共有h(k-1)*h(n-k)种方案。

显而易见,k取不同值时,产生的出栈序列是相互独立的,所以结果可以累加。

k的取值范围为1至n,所以结果就为h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... +h(n-1)h(0)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10015005
2458228 5
20
1
20
209
1518
8602
40480
164450
592020
1924065
5722860
15737865
4032015 0
注:Undef 表无此数据
表 2(续) Catalan 数阵 f (i, j)(i=1-20) f(i,j) i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 undef undef undef undef undef undef undef undef undef undef undef 208012 742900 1931540 4345965 8947575 17298645 31865925 56448210 undef undef undef undef undef undef undef undef undef undef undef undef 742900 2674440 7020405 15967980 33266625 65132550 12158076 0 20 96768360 21834912 0 463991880 927983760 173996955 0 undef undef undef undef undef undef undef undef undef undef undef undef undef 2674440 9694845 25662825 58929450 124062000 245642760 undef undef undef undef undef undef undef undef undef undef undef undef undef undef 9694845 35357670 94287120 218349120 463991880 undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef 35357670 129644790 347993910 811985790 undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef 129644790 477638700 128962449 0 302959404 0 4796857230 6564120420 65641 20420 undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef 477638700 1767263190 undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef 1767263190 undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef undef
undef undef undef undef undef 4862 16796 41990 90440 177650 326876 572033 961400 1562275 2466750
undef undef undef undef undef undef 16796 58786 149226 326876 653752 1225785 2187185 3749460 6216210
表 2 Catalan 数阵 f (i, j)(i=1~20)
f(i,j) i
1
j
0 1
1 1
2 undef
3 unde f
4 unde f unde f unde f
5 undef
6 undef
7 undef
8 undef
9 undef
10 undef
11 undef
2
1
2
2
unde f
undef
A(1,0)
B(5,0)
P(5,3) 图2
C(5,4)
表1 f (5,3)的实际计算过程 点(i, j) (1,0) (2,0) (3,0) (4,0) (5,0) (1,1) (2,1) (3,1) (4,1) (5,1) (2,2) (3,2) (4,2) (5,2) (3,3) (4,3) (5,3) f(i, j) 1 1 1 1 1 1 2 3 4 5 2 5 9 14 5 14 28 计算方法 f (i, j)=f (i, j-1)+f (i-1, j) 开始 f (1,0) 特殊点 f (2,0)=f (1,0) 特殊点 f (3,0)=f (2,0) 特殊点 f (4,0)=f (3,0) 特殊点 f (5,0)=f (4,0) 特殊点 f (1,1)=f (1,0) f (2,1)=f (1,1)+f (2,0) f (3,1)=f (2,1)+f (3,0) f (4,1)=f (3,1)+f (4,0) f (5,1)=f (4,1)+f (5,0) 特殊点 f (2,2)=f (2,1) f (3,2)=f(2,2)+f (3,1) f (4,2)=f (3,2)+f (4,1) f(5,2)=f (4,2)+f (5,1) 特殊点 f (3,3)=f (3,2) f(4,3)=f (3,3)+f (4,2) f(5,3)=f(4,3)+f(5,2)
图 1 阶梯状的城市街道图 为了导出 Catalan 数列的通项公式并熟悉 Catalan 数列的基本结构与形成规律,让我们 先从简单的、具体的问题开始。就比如说,计算从 A 点(1, 0)到 P 点(5, 3) ,共有多少种不 同的走法(如图 2) ,并用 f(i, j)表示从(1, 0) 点到(i, j)点的不同的走法总数。 由于最后一步的走法只能按箭头的方向向右或向下,所以从 (1, 0) 点到(5, 3)点的线 路必经过(4,3)点或(5,2)点,且经过(4,3)点或(5,2)点的线路互不相同,即 有 f (5,3)=f (4,3)+f (5,2)。同样地,对通过(4,3)点的路线可分为通过(3,3)点的部分和通过 (4,2) 点的部分,即有 f (4,3)=f (3,3)+f (4,2)。类似地,有 f (i, j)=f (i, j-1)+f (i-1, j)。 但是我们也必须注意到某些特殊点。 如考虑 f(3,3)时, 若认为 f (3,3)=f (3,2)+f (2,3)显然不 对,因为 f (2,3)根本不存在。同样地,求 f (3,0)时,也不存在 f (3,-1)。所以我们又有,当 j=0 时,f (i, 0)=f (i-1, 0)=f (i-2,0 )=„=f (1,0)=1;当 i=j 时,f (i, j)=f (i, j-1)。 表 1 具体地给出了求 f (5,3)的实际计算过程。 由此我们就得知了从 (1, 0) 到 (5, 3) 的走 法共有28种。
一、初探——Catalan 数列
Catalan 数列的问题可用图 1 所示阶梯状的城市街道图来简洁表述, 即从图 1 中 A 点(1, 0) 出发,按箭头所示方向(即向右或向下)到达交叉点 F 点(i, j)共有多少种不同的走法? A(1,0)
F(i, j)
B(n,0)
P(n, k)
C(f undef undef undef undef 58786 208012 534888 1188640 2414425 4601610 8351070 1456728 0
19
1
19
189
1309
7084
31878
123970
427570
1332045
3798795
undef
undef
undef
undef
undef
undef
3
1
3
5
5
undef
undef
undef
undef
undef
undef
undef
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
总结一下前面的探索结果,我们有
f (i, j 1) f (i 1, j ) f (i, j ) 1 f (i, j 1)
i j0 j0 j i
(1) 从前面的探索过程中,我们同时也熟知了这种数阵(在本文中,我们姑且将它称之为 Catalan 数阵 f (i, j))的一些基本特征和规律。 根据以上建立的经验规则(其实也是显而易见的) ,我们就可以依葫芦画瓢地计算出 i 较小时(i=1~20)的 f (i, j)的值(虽然有很大的计算量,但是我们可以借助于 TI-92 图形计算 器来完成) ,并以 Catalan 数阵 f (i, j)的形式列在表2中,而 Catalan 数列也就是由 Catalan 数 阵每一行的最后一个数 f (i, i)组成的。
Catalan 数列探究与应用
戴明劼 摘要:
Catalan 数列是著名的计数序列之一,应用广泛。本文主要从科学问题探索、科学方 法研究两方面,分初探、深究与应用三个部分介绍了一个中学生对 Catalan 数列问题的初步 研究成果。在对 Catalan 数列的初探中,本文采用简单、直观、中学生通俗易懂的方法一步 一步推导出了 Catalan 数列的通项公式,这对理解和掌握 Catalan 数列的形成规律与内在结 构有很大的帮助; 在对 Catalan 数阵的深究中, 本文通过与组合数的类比简洁地导出了 Catalan 数阵的通项公式, 有助于更全面地理解 Catalan 数列的性质与特点; 在对应用实例的讨论中, 描述了如何应用 Catalan 数列来巧妙地求解一些常见难题,把数学研究真正运用于实际。
相关文档
最新文档