算法分析与设计复习__递归方程与分治

总结自:【算法设计与分析】期末考试突击课_哔哩哔哩_bilibili

1.递归,递归方程

1.1递归条件:

1.一个问题的解可以分解为几个子问题的解;

2.这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样;

3.存在递归终止条件。

1.2递归方程的建立,求解

1.2.1建立

当算法包含调用自身的过程时,其运行时间可用递归方程描述,

下面是递归方程建立的具体过程:假设问题规模为",T(m)为解决该问题的时间开销。

1.2.2求解

常用的求解递归方程的方法有两种:替换方法和主定理

1.2.2.1替换方法

用替换方法解某个递归方程时,分为两步。

首先是猜测问题解的某个界限,然后用数学归纳法证明所猜测解的正确性。猜测问题的界限可以根据经验猜,也可以把递归方程逐项展开,再对项进行合并根据合并结果猜测问题的界限。

1.2.2.2主定理(较简单,套公式即可)
1.2.2.3主定理不能解决的部分:

1.2.3例题

斐波那契序列,欧几里得算法,汉诺塔,阶乘;

1.2.3.1替换方法例题:
1.2.3.2主定理例题:
1.2.3.3 参考答案

T1:

T2:

T3:

T4:

T5:

T6:

T7:

1.3 分治法

分治法的思想:

相关推荐
paeamecium6 小时前
【PAT甲级真题】- Recover the Smallest Number (30)
数据结构·算法·pat考试·pat
Dillon Dong6 小时前
【风电控制】变流器转矩控制回路深度解析:从指令生成到闭环控制
算法·变流器·风电控制
玛丽莲茼蒿6 小时前
Leetcode hot100 在排序数组中查找元素的第一个和最后一个位置【中等】
数据结构·算法
墨染天姬7 小时前
[AI]OPENAI的PPO算法
人工智能·算法
cici158747 小时前
含风光储燃的微电网能量管理系统(PSO优化)
算法
Das17 小时前
图像色彩迁移技术算法及基本原理
算法
发疯幼稚鬼7 小时前
二叉树的广度优先遍历
c语言·数据结构·算法·宽度优先
谭欣辰7 小时前
C++ DFS 与 BFS 剪枝方法详解
c++·算法·剪枝
Via_Neo7 小时前
乘积最大问题
数据结构·算法
CN-Dust7 小时前
【C++专题】格式化输出与输入
开发语言·c++·算法