C++编程《第06课 栈(4)》教学课件.pptxVIP

  • 2
  • 0
  • 约4.52千字
  • 约 24页
  • 2026-03-12 发布于广西
  • 举报

第05课栈(4):卡特兰数

学习目标1、了解卡特兰数递推的基本模型2、练习典型问题的递推公式的推导3、利用卡特兰数递推基本模型建模分析新问题

知识讲授

(一)卡特兰数递推基本模型1:01序列问题通过上一节课,我们已经了解了卡特兰数递推问题的一种基本模型:【基本模型描述】有一个长度为2n的01序列,其中1、0各n个,要求对于任意的整数k∈[1,2n],数列的前k个数中,1的个数不少于0。问这样的长度为2n的01序列有多少种?此问题的解为h(n)=C(2n,n)/(n+1);递推公式为f(n)=f(0)f(n-1)+f(1)f(n-2)+...+f(n-1)f(0),f(0)=1;利用这个基本模型,我们可以对有相同递推特性的问题进行建模分析,很快得到解。当然,我们也可以用常规推导来揭开问题本身的特征,而且,某些时候不能利用建模分析时,就必须借助最原始的递推推导。

(二)基本模型2:矩阵链乘的括号化方案问题【问题描述】矩阵链乘:P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,有几种括号化的方案?比如P=(a1×a2)×(a3×……)×an,就是一种括号化方案;P=(a1×a2)×(a3×a4×a5)×(a6×a7)×...×an也是一种括号化方案;这里,没有嵌套必要

文档评论(0)

1亿VIP精品文档

相关文档