我们讨论了渐近分析以及算法的最差、平均和最佳情况。渐近分析的主要思想是衡量算法的效率,这些算法不依赖于特定于机器的常数,并且不需要实现算法和比较程序所花费的时间。渐近符号是表示渐近分析算法时间复杂度的数学工具。
渐近符号:
渐近符号是一种编程语言,允许您通过识别算法随输入大小增长的行为来分析算法的运行时间。
.这也称为算法的增长率。
.你不能直接比较两种算法。
您使用渐近分析来比较空间和时间复杂度。
它根据输入大小增加或减少时性能的变化来比较两种算法。
渐近符号主要有以下三种:
大 O 表示法(O 表示法)
欧米茄表示法(Ω 表示法)
Theta 表示法(θ 表示法)
- Theta 表示法(θ-Notation):
Theta 表示法将函数从上方和下方包围起来。由于它代表算法运行时间的上限和下限,因此用于分析算法的平均情况复杂度。
.Theta(平均情况) 您将每个可能的输入组合的运行时间相加,并在平均情况下取平均值。
令 g 和 f 为自然数集到其自身的函数。如果存在常数 c1、c2 > 0 和自然数 n0,则函数 f 被称为 θ(g),且对于所有 n ≥,c1* g(n) ≤ f(n) ≤ c2 * g(n) n0
Theta 符号的数学表示:
θ (g(n)) = {f(n):存在正常数 c1、c2 和 n0,使得 0 ≤ c1 * g(n) ≤ f(n) ≤ c2 * g(n) 对于所有 n ≥ n0 }
注: θ(g) 是一个集合
上述表达式可以描述为如果 f(n) 是 g(n) 的 theta