Skip to content

算法分析与设计学习指南

算法学习的重点是把问题转化为可计算的模型,并在正确性、时间成本和空间成本之间取得平衡。

分析框架

  1. 明确输入、输出和边界条件。
  2. 先写出直接但正确的解法。
  3. 找出重复计算或不必要的搜索空间。
  4. 使用时间复杂度和空间复杂度比较方案。
  5. 用正常、边界和异常数据验证实现。

常见设计方法

  • 分治:把问题拆成相互独立的子问题;
  • 贪心:每一步选择当前最优解,并证明其全局正确性;
  • 动态规划:保存重复子问题的结果;
  • 回溯:系统枚举候选方案并及时剪枝;
  • 图搜索:使用广度优先或深度优先探索状态空间。

排序算法的实现与比较可从排序算法专题开始。

基于 MIT 许可发布