1. 梗概:

  1. 秉持着从特殊到一般的思维, 算法设计从实例入手 且顺序为
    1. 规则、简单实例
    2. 特殊、复杂实例
  2. 每种实例至少有相似但不相同的两个实例
  3. 测试过程中算法一直保持抽象描述
  4. 等到算法确定之后, 再选择比较好的实现方式(数据结构)

2. 从实例测试算法具体步骤

2.1.1. 通过实例初始化算法具体步骤:

  1. 假设实例
  2. 设想一个通用性尽可能强的算法
    1. 从正面处理来一个
    2. 从反面处理来一个
  3. 分析每一步骤进行的依据
  4. 分析每一步骤不进行的依据

2.1.2. 通过实例测试改进算法具体步骤:

  1. 假设更特殊的实例
  2. 按照上一代算法, 代入执行
    1. 如果有bug
      1. 选择前几代算法, 看看是否就可以执行了
        1. 如果还是有bug
          1. 修改初代算法, 使其适用于该实例
          2. 用修改过的初代算法再去测试之前的所有种类的实例
        2. 如果没有bug了
          1. 假设下一个例子
    2. 如果没bug
      1. 假设下一个例子