目录
| 算法名称 | 关键点 | 特征 | 典型问题 |
| 分治法 | 递归技术 | 把一个问题拆分成多个小模块的相同子问题,一般可用递归解决。 | 归并排序、快速排序、二分搜索 |
| 动态规划法 | 最优子结构和递归式 | 划分子问题(最优子结构),并把子问题结果使用数组存储,利用查询子问题结果构造最终问题结果。 | 矩阵乘法、背包问题、LCS最长公共子序列 |
| 贪心法 | 一般用于求满意解,特殊情况可求最优解(部分背包) | 局部最优,但整体不见得最优。每步有明确的,既定的策略。 | 背包问题(如装箱)、多机调度、找零钱问题 |
| 回溯法 | 探索和回退 | 系统的搜索一个问题的所有解或任一解。有试探和回退的过程。 | N皇后问题、迷宫、背包问题 |
该题总是放置在软考下午第四大题中。







快速排序算法(题干要求:非递减排序,以最后一个元素为基准元素)。
进行一趟划分的计算时间为O(n)。排序过程:基准元素与另一端待排第一个元素进行比较,满足非递减,不需要交换;不满足非递减,交换位置。