2.序列求和&递推方程

2.1序列求和的方法

1.数列求和公式:

公式&求和例子

公式:
image
求和例子:
image

2.二分检索:

输入&时间复杂度

输入个数:
在数组中有n种, 不在数组中有(n+1)种
image
比较t次的输入个数:
image

总次数:对每个输入乘以次数并求和

时间复杂度:
image

3.放大法:

详情&例子

放大法:
image
例子:
image

4.估计和式渐进的界:

等阶

image
image

5.小结:

  • 序列求和基本公式: 等差数列、等比数列、调和级数
  • 估计序列和: 放大法求上界、用积分做和式的渐进的界


2.2递推方程与算法分析

1.递推方程:

定义&求解&例子

定义&求解:
image

例子:斐波那契数列:
image

Hanoi塔问题:

问题&算法

image

递归算法:
image

分析算法:难解问题:
image

2.插入排序:

算法&时间复杂度

image

时间复杂度:迭代求得:
image

3.小结:

  • 递推方程的定义及初值
  • 递推方程与算法时间复杂度的关系
  • Hanoi塔的递归算法
  • 插入排序的迭代算法


2.3迭代法求解递推方程

1.迭代法:

详情
  • 不断用递推方程的右部替换左部
  • 每次替换,随着n的降低在和式中多处一项
  • 直到出现初值停止迭代
  • 将初值代入并对和式求和
  • 可用数学归纳法验证解的正确性

2.Hanoi塔算法&插入排序:

迭代实例

Hanoi塔:
image

插入排序:
image

3.换元迭代:

定义&例子

定义:
image

二分归并排序:

详情

image

换元:
image

迭代求解:
image

解的正确性-归纳验证:
image

4.小结:迭代法求解递推方程

  • 直接迭代,带入初值,然后求和
  • 对递推方程和初值进行换元,然后求和,求和后进行相反换元,得到原始递推方程的解
  • 验证方法--数学归纳法


2.4差消法 化简迭代

1.快速排序:

问题

image

输入情况:
image

工作量总和:
image

平均工作量:先化简再迭代
image

2.差消化简:利用两个方程相减,将右边的项尽可能消去,以达到降阶的作用

实例

image
image

迭代求解:
image

3.小结:

  • 对于高阶递推方程要先用差消法化简为一阶方程
  • 迭代求解


2.5递归树

1.概念:

  • 递归树是迭代计算的模型
  • 递归树的生成过程与迭代过程一致
  • 递归树上所有项恰好是迭代之后产生和式中的项

2.迭代在递归树中的表示:

详情

image

二层子树例子:二分归并排序
image

3.递归树的生成:

详情

规则:
image

实例:
image
image

递归树:
image

对递归树上的量求和:
image

应用实例:
image

求和:
image

4.小结:

  • 递归树是迭代的图形表达
  • 递归树的生成规则
  • 如何利用递归树求解递推方程


2.6主定理及其证明

1.主定理的应用背景:
image

2.主定理的内容:

详情

内容:
image

迭代:
image
image

3.主定理的证明:

三种情况

情况一:
image
image

情况二:
image

情况三:
image
image

4.小结:

  • 主定理的应用背景
  • 主定理的内容
  • 主定理的证明


2.7主定理的应用

1.求解递推方程:

例子

例一:
image

例二:
image

例三:
image

2.条件验证:

详情

image

递归算法分析:
image

3.不能使用主定理:

例子&递归树解法

例子:
image

递归树解法:
image

求和:
image

4.小结:

  • 使用主定理求解递推方程的条件
  • 主定理怎么用于算法复杂度分析
posted @ 2025-11-10 21:41  Wy0518  阅读(6)  评论(0)    收藏  举报