Find()函数的复杂性是什么?

这个问题在这里已经有了答案:

  • 大O,你如何计算/估计它? 22个答案

  • 首先,第一个版本在最坏的情况下进行n次迭代,并且在每次迭代中进行恒定数量的操作。 第二个版本在最坏的情况下进行n / 2次迭代,并且在每次迭代中,也会进行常量的操作,但是会有更大的常量。 因此,没有理由认为第一个是O(n),第二个是O(n / 2)。

    无论如何,O(n)= O(n / 2)。 通过O的定义,O(n)意味着存在一个常数c1,使得对于每个n> n1,

    f(n)<c1 n。

    同样,O(n / 2)表示存在一个常数c2,使得对于每个n> n2,

    f(n)<c2 n / 2 =(c2 / 2)n。

    因为对于任何n> max(n1,n2),不等式对于c1 = c2 / 2成立,这两个中的每一个意味着另一个。

    链接地址: http://www.djcxy.com/p/39359.html

    上一篇: What is the Complexity of Find() Function

    下一篇: O notation of a Loop