- 分治算法
分治算法的基本思想是将一个规模为N的问题分解为规模为K的子问题,这些子问题相互独立且与原问题性质相同。
2. 贪心算法
总是做出对当前来说最好的选择,但不一定是最好的选择
3. 动态规划算法
动态规划与贪心法和分治法类似,但贪心算法依赖于已经做出的选择,但不依赖与即将做出的选择,而分治法的各个子问题是独立的,一旦求出各问题的解后,便可自下而上求出所有问题的解;当前选择要依赖子问题的解时,很难通过贪心算法求解,如果各问题不是独立的,则分治法需要做很多重复的工作。动态规划算法主要应用于找最优化问题。
4. 回溯算法
回溯算法是根据深度优先策略,只要找到一个解就结束,这种深度优先的算法叫回溯法,适用于组合数较大的问题。