Find()函数的复杂性是什么?
这个问题在这里已经有了答案:
首先,第一个版本在最坏的情况下进行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