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

总结自:【算法设计与分析】期末考试突击课_哔哩哔哩_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 分治法

分治法的思想:

相关推荐
无敌最俊朗@2 小时前
力扣hot100-206反转链表
算法·leetcode·链表
Kuo-Teng2 小时前
LeetCode 279: Perfect Squares
java·数据结构·算法·leetcode·职场和发展
王哈哈^_^2 小时前
YOLO11实例分割训练任务——从构建数据集到训练的完整教程
人工智能·深度学习·算法·yolo·目标检测·机器学习·计算机视觉
檐下翻书1732 小时前
从入门到精通:流程图制作学习路径规划
论文阅读·人工智能·学习·算法·流程图·论文笔记
CoderYanger2 小时前
B.双指针——3194. 最小元素和最大元素的最小平均值
java·开发语言·数据结构·算法·leetcode·职场和发展·1024程序员节
小曹要微笑4 小时前
STM32各系列时钟树详解
c语言·stm32·单片机·嵌入式硬件·算法
前进的李工5 小时前
LeetCode hot100:094 二叉树的中序遍历:从递归到迭代的完整指南
python·算法·leetcode·链表·二叉树
麦麦大数据5 小时前
F049 知识图谱双算法推荐在线学习系统vue+flask+neo4j之BS架构开题论文全源码
学习·算法·知识图谱·推荐算法·开题报告·学习系统·计算机毕业设计展示
兩尛6 小时前
215. 数组中的第K个最大元素
数据结构·算法·排序算法
952366 小时前
数据结构-堆
java·数据结构·学习·算法