Merge branch 'master' of github.com:nonstriater/Learn-Algorithms
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# 递归
|
||||
|
||||
递归是一种设计和描述算法的有力工具。 递归算法执行过程分 `递推` 和 `回归` 两个阶段
|
||||
递归是一种设计和描述算法的有力工具。 也是回溯法和动态规划的基础。
|
||||
|
||||
递归算法执行过程分 `递推` 和 `回归` 两个阶段
|
||||
|
||||
在 `递推` 阶段,将大的问题分解成小的问题
|
||||
在 `回归` 阶段,获得最简单问题的解后,逐级返回,依次得到稍微复杂情况的解,知道获得最终的结果
|
||||
@@ -13,6 +15,24 @@
|
||||
|
||||
递归运行效率较低,因为有函数调用的开销,递归多次也可能造成栈溢出。
|
||||
|
||||
### 递归公式
|
||||
|
||||
快排
|
||||
|
||||
归并排
|
||||
|
||||
|
||||
二叉树
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### 递归树
|
||||
|
||||
画递归树,可以很方便地看到是否存在重叠子问题,如果有的话,就可以采用动态规划。
|
||||
|
||||
|
||||
|
||||
### 其它案例
|
||||
|
||||
|
||||
Reference in New Issue
Block a user