如何决定算法的时间复杂度的表达?
我们应该选择用 O(n)
还是 theta(n)
来表达时间复杂度?因为函数 f(n)
可以表示为 Big-Oh(g(n))
或 theta (g(n))
.
我们什么时候选择 big-oh 而不是 theta ?
最佳答案
当您还想指定下限时,请使用 Big Theta 表示法。 f(n) = O(g(n))
说f
上面的边界为 g
,而f(n) = Theta(g(n))
说f
上方和下方均以 g
为界.
也就是说,有常量k1
和k2
这样k1 * |g(n)| <= |f(n)| <= k2 * |g(n)|
关于algorithm - 困惑是用 theta 表示法还是 Big Oh 表示法来表达时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5365724/