2.序列求和&递推方程
2.1序列求和的方法
1.数列求和公式:
公式&求和例子
公式:

求和例子:

2.二分检索:
输入&时间复杂度
输入个数:
在数组中有n种, 不在数组中有(n+1)种

比较t次的输入个数:

总次数:对每个输入乘以次数并求和
时间复杂度:

3.放大法:
详情&例子
放大法:

例子:

4.估计和式渐进的界:
等阶


5.小结:
- 序列求和基本公式: 等差数列、等比数列、调和级数
- 估计序列和: 放大法求上界、用积分做和式的渐进的界
2.2递推方程与算法分析
1.递推方程:
定义&求解&例子
定义&求解:

例子:斐波那契数列:

Hanoi塔问题:
问题&算法

递归算法:

分析算法:难解问题:

2.插入排序:
算法&时间复杂度

时间复杂度:迭代求得:

3.小结:
- 递推方程的定义及初值
- 递推方程与算法时间复杂度的关系
- Hanoi塔的递归算法
- 插入排序的迭代算法
2.3迭代法求解递推方程
1.迭代法:
详情
- 不断用递推方程的右部替换左部
- 每次替换,随着n的降低在和式中多处一项
- 直到出现初值停止迭代
- 将初值代入并对和式求和
- 可用数学归纳法验证解的正确性
2.Hanoi塔算法&插入排序:
迭代实例
Hanoi塔:

插入排序:

3.换元迭代:
定义&例子
定义:

二分归并排序:
详情

换元:

迭代求解:

解的正确性-归纳验证:

4.小结:迭代法求解递推方程
- 直接迭代,带入初值,然后求和
- 对递推方程和初值进行换元,然后求和,求和后进行相反换元,得到原始递推方程的解
- 验证方法--数学归纳法
2.4差消法 化简迭代
1.快速排序:
问题

输入情况:

工作量总和:

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

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


迭代求解:

3.小结:
- 对于高阶递推方程要先用差消法化简为一阶方程
- 迭代求解
2.5递归树
1.概念:
- 递归树是迭代计算的模型
- 递归树的生成过程与迭代过程一致
- 递归树上所有项恰好是迭代之后产生和式中的项
2.迭代在递归树中的表示:
详情

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

3.递归树的生成:
详情
规则:

实例:


递归树:

对递归树上的量求和:

应用实例:

求和:

4.小结:
- 递归树是迭代的图形表达
- 递归树的生成规则
- 如何利用递归树求解递推方程
2.6主定理及其证明
1.主定理的应用背景:

2.主定理的内容:
详情
内容:

迭代:


3.主定理的证明:
三种情况
情况一:


情况二:

情况三:


4.小结:
- 主定理的应用背景
- 主定理的内容
- 主定理的证明
2.7主定理的应用
1.求解递推方程:
例子
例一:

例二:

例三:

2.条件验证:
详情

递归算法分析:

3.不能使用主定理:
例子&递归树解法
例子:

递归树解法:

求和:

4.小结:
- 使用主定理求解递推方程的条件
- 主定理怎么用于算法复杂度分析

浙公网安备 33010602011771号