Skip to main content

算法效率评估

概念

在正确解决问题的前提下,希望找到高效的算法。

包括以下两个维度:

  • 时间效率:算法执行所需的时间
  • 空间效率:算法占用内存的大小

简而言之,又快又省是目标。

评估方法 1: 实际测算

现有算法A和算法B,两者都能正确解决问题。找一台计算机,分别执行,记录时间和内存占用情况,这样可以真实反映算法的效率。但是存在两个较大的局限性:

  • 测算环境的干扰:不同的硬件配置\编译器\操作系统等,会对测算结果产生影响。
  • 数据规模不完整:不同的数据量表现不同,若测试不同量的数据,耗时耗力。

综上,因为这些局限性,经常使用理论估算来评估算法效率。

评估方法 2: 理论估算

也被称为复杂度分析,complexity analysis.

定义:它描述了随着输入数据大小的增加,算法执行所需时间和空间的增长趋势

重点:

  1. 划分为时间复杂度和空间复杂度
  2. 反映了效率与输入数据量的关系
  3. 关注时间空间增长的快慢