乐趣区

实现算法的思考路径

原则

  1. 设计
  2. 实现
  3. 优化

设计

  1. 怎么实现,通过注释 + 伪代码 + 画图的方式讲明白,这个后期稍微修补可以直接输出为文档或测试用例
  2. 思路必须做到清晰,不清晰不动手
  3. 输入、输出、这个问题的背景是什么,为了解决什么问题

实现

  1. 数据是否有序、规模多大、重复元素、取值范围
  2. 空间上怎么存储(数据结构)、内存使用有没有要求
  3. 需不需要是稳定的算法、输入出错 (入参、全局变量、文件)、没有输出或多个输出怎么做

优化

  1. 算法是否可以优化时间空间
  2. 函数、类、变量命名得更好
  3. 函数和类的职责够不够内聚
  4. 容易变化的位置可能在哪里
退出移动版