首页 文章

Theta表示法的简单英文解释?

提问于
浏览
4

Theta符号的简单英语解释是什么?尽可能少的正式定义和简单的数学 .

theta符号与Big O符号有何不同?谁能用简单的英语解释一下?

在算法分析中如何使用?我很迷惑?

2 回答

  • 3

    如果算法的运行时间是Big Theta(f(n)),则它在f(n)上方和下方渐近有界 . Big O是相同的,除了绑定仅在上面 .

    直观地说,Big 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) .

  • 2

    我一直想用简单的话来说明这一点 . 这是我的尝试 .

    如果表示算法的时间或空间复杂度

    • 大O:Ex O(n) - 表示n是上限 . 最终 Value 可能小于或等于n .

    • Big Omega:ExΩ(n) - 表示n是下限 . 最终 Value 可能等于或大于n .

    • Theta:ExΘ(n) - 表示n是唯一可能的值 . (上限和下限)

相关问题