分析代码时,大theta及其实际意义?

时间:2017-03-22 15:15:42

标签: algorithm

我听说某个地方,例如告诉一个函数有一个大的θ为n它必须在最佳和最差的情况下都有n的复杂性,所以线性搜索不会是n的大θ因为它有最好的情况O(1),但我怀疑这些信息,所以如果你有任何你想要分析的代码,何时说这段代码有一些函数的大概念?

1 个答案:

答案 0 :(得分:0)

要了解大theta,我们应该首先回顾一下大O和大omega。 Big O描述了函数在最坏情况下的运行时,这意味着它永远不会比它更糟糕。大欧米茄(Omega)描述了函数的最佳运行时,这意味着该函数的性能永远不会比这更好。大O =大欧米茄时会发现大theta,因为最坏的情况=最好的情况,因此该函数受同一时间复杂度上下限制。例如,当对两个矩阵进行矩阵乘法,每个矩阵的维数为n x n时,函数的运行时间为O(n ^ 3)。运行时也是bigOmega(n ^ 3)。这是因为在函数的最差情况和最佳情况下,您总是将两个矩阵相乘。您将无法“尽早结束”,因为您总是将矩阵中的所有内容相乘。由于该函数在n ^ 3上下限制,因此该函数为bigTheta(n ^ 3)。