持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情
回溯法
- 一种深度优先搜索方法
N皇后问题
- N皇后问题是回溯法的典型实例
分治法
递归
递归的两个基本要素:
- 边界条件,即确定递归到何时终止,也称为递归出口
- 递归模式,即大问题属如何分解为小问题的,也称递归体
- 递归典型实例--阶乘函数
分治法的基本思想
分治算法在每一层递归上都有3个步骤:
- 分解,将原问题分解成一系列子问题
- 求解,递归地求解各个子问题,如果问题足够小,则直接求解
- 合并,将子问题的解合并成原问题的解
分治法的典型实例
- 快速排序
- 归并排序
- 最大子段和问题
最大子段和问题的时间复杂度为:
动态规划法
- 动态规划法以获取问题最优解为目标
动态规划法的基本思想
动态规划法的基本步骤
动态规划法的性质
- 最优子结构
- 重叠子问题
- 动态规划法的典型实例
- 最长公共子序列
- 0-1背包问题 时间复杂度为:
- 矩阵连乘
贪心法
贪心法的基本思想
- 求解局部最优解,近似最优解
贪心法的性质
- 最优子结构
- 贪心选择性质
分支界限法
- 一种广度优先搜索方法