mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-11 23:16:07 +00:00
build
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 2.1. 算法效率评估
|
||||
# 2.1 算法效率评估
|
||||
|
||||
在算法设计中,我们先后追求以下两个层面的目标:
|
||||
|
||||
@@ -18,7 +18,7 @@ comments: true
|
||||
|
||||
效率评估方法主要分为两种:实际测试和理论估算。
|
||||
|
||||
## 2.1.1. 实际测试
|
||||
## 2.1.1 实际测试
|
||||
|
||||
假设我们现在有算法 `A` 和算法 `B` ,它们都能解决同一问题,现在需要对比这两个算法的效率。最直接的方法是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真实情况,但也存在较大局限性。
|
||||
|
||||
@@ -26,7 +26,7 @@ comments: true
|
||||
|
||||
**展开完整测试非常耗费资源**。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入数据量较小时,算法 `A` 的运行时间比算法 `B` 更少;而输入数据量较大时,测试结果可能恰恰相反。因此,为了得到有说服力的结论,我们需要测试各种规模的输入数据,而这样需要耗费大量的计算资源。
|
||||
|
||||
## 2.1.2. 理论估算
|
||||
## 2.1.2 理论估算
|
||||
|
||||
由于实际测试具有较大的局限性,我们可以考虑仅通过一些计算来评估算法的效率。这种估算方法被称为「渐近复杂度分析 Asymptotic Complexity Analysis」,简称为「复杂度分析」。
|
||||
|
||||
@@ -40,7 +40,7 @@ comments: true
|
||||
|
||||
如果你对复杂度分析的概念仍感到困惑,无需担心,我们会在后续章节详细介绍。
|
||||
|
||||
## 2.1.3. 复杂度的重要性
|
||||
## 2.1.3 复杂度的重要性
|
||||
|
||||
复杂度分析为我们提供了一把评估算法效率的“标尺”,帮助我们衡量了执行某个算法所需的时间和空间资源,并使我们能够对比不同算法之间的效率。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user