Theta符号的简单英语解释?
Theta符号的简单英文解释是什么? 尽可能少的正式定义和简单的数学。
Theta符号如何与大O符号不同? 任何人都可以用简单的英语解释
在算法分析中如何使用? 我很困惑?
如果一个算法的运行时间是Big Theta(f(n)),它在f(n)的上下渐近有界。 大O是相同的,只是界限只在上面。
直观地说,大O(f(n))说:“我们可以肯定,忽略常数因素和项,运行时间永远不会超过f(n)。” 粗略地说,如果你认为运行时间“不好”,那么Big O是最差的情况。 Big Theta(f(n))说:“我们可以肯定,忽略常数因素和项,运行时间总是随着f(n)而变化。” 换句话说,Big Theta是一个已知的严格限制:这是最坏的情况和最好的情况。
直觉上的最后尝试:大O是“片面的”。 O(n)运行时间也是O(n ^ 2)和O(2 ^ n)。 Big Theta并非如此。 如果你的算法运行时间是O(n),那么你已经证明它不是Big Theta(n ^ 2)。 它可能会也可能不是Big Theta(n)
比较排序就是一个例子。 信息理论告诉我们排序需要至少比较天花板(n log n)的比较,而实际上我们发明了O(n log n)算法(其中n是比较次数),所以排序比较是Big Theta(n log n)。
我一直想用简单的话来说明这一点。 这是我的尝试。
如果算法的时间或空间复杂度用
大O:Ex O(n) - 表示n是上限。 最终值可能小于或等于n。
大欧米茄:ExΩ(n) - 表示n是下限。 最终值可以等于或大于n。
Theta:ExΘ(n) - 表示n是唯一可能的值。 (上限和下限)