algorithm - 困惑是用 theta 表示法还是 Big Oh 表示法来表达时间复杂度

标签 algorithm big-o

如何决定算法的时间复杂度的表达?

我们应该选择用 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 为界.

也就是说,有常量k1k2这样k1 * |g(n)| <= |f(n)| <= k2 * |g(n)|

关于algorithm - 困惑是用 theta 表示法还是 Big Oh 表示法来表达时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5365724/

相关文章:

regex - 使用perl在多个蛋白质序列中查找回文(完美回文)

multithreading - 优化计算中使用的 # 个线程的算法

algorithm - 我怎样才能展开重复: T(n)=2T((n+2)/3)

c++ - function2的时间复杂度是多少?

algorithm - 这些结果如何证明我的方法在 O(n lgn) 时间内运行?

algorithm - 计算最严格的 Big-Oh 循环边界

c++ - 选择最大的 “n” 值

algorithm - 这种确定上限的推理有什么问题?

time-complexity - 大O : What is the name for the complexity O(a * b)?

algorithm - 在不影响图的最小生成树的情况下添加尽可能轻的边?