1. 梗概:
- 秉持着从特殊到一般的思维, 算法设计从实例入手
且顺序为
- 规则、简单实例
- 特殊、复杂实例
- 每种实例至少有相似但不相同的两个实例
- 测试过程中算法一直保持抽象描述
- 等到算法确定之后, 再选择比较好的实现方式(数据结构)
2. 从实例测试算法具体步骤
2.1.1. 通过实例初始化算法具体步骤:
- 假设实例
- 设想一个通用性尽可能强的算法
- 从正面处理来一个
- 从反面处理来一个
- 分析每一步骤进行的依据
- 分析每一步骤不进行的依据
2.1.2. 通过实例测试改进算法具体步骤:
- 假设更特殊的实例
- 按照上一代算法, 代入执行
- 如果有bug
- 选择前几代算法, 看看是否就可以执行了
- 如果还是有bug
- 修改初代算法, 使其适用于该实例
- 用修改过的初代算法再去测试之前的所有种类的实例
- 如果没有bug了
- 假设下一个例子
- 如果还是有bug
- 选择前几代算法, 看看是否就可以执行了
- 如果没bug
- 假设下一个例子
- 如果有bug