实际软件开发中,如何选择数据结构和算法

六条经验

  1. 时间、空间复杂度不能跟性能划等号
    • 复杂度不是执行时间和内存消耗的精确值
    • 代码的执行时间有时不跟时间复杂度成正比
    • 对于处理不同问题的不同算法,其复杂度大小没有可比性
  2. 重视数据规模
  3. 结合数据特征和访问方式
  4. 区别对待 IO 密集、内存密集和计算密集
  5. 善用语言提供的类,避免重复造轮子
  6. 学会评估,不漫无目的地过度优化
    • Benchmark 基准测试

----- 数据结构与算法之美

推荐阅读更多精彩内容