算法思想

# 算法思想

TIP

算法思想是解决算法问题的核心

  1. 递归

概念: 通过重复将问题分解为同类的子问题而解决问题的一种方法.

形式: 直接或间接调用自身的函数

  1. 分治

概念: 将一个规模为 N 的问题分解为 K 个规模较小的子问题, 求出子问题的解就可得到原问题的解.

  1. 贪心

概念: 在对问题求解时, 做出在当前看来最优的选择, 也就是局部最优解.

  1. 回溯

概念: 在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就"回溯"返回,尝试别的路径.

  1. 动态规划

概念: 将复杂问题分解成小问题求解的策略, 与分治算法不同的是, 分治算法要求各子问题是相互独立的, 而动态规划各子问题是相互关联的.

  1. 枚举

概念: 枚举所有的可能, 尽可能地尝试所有的方法.