O(K +(N-K)logK)等于O(K + N log K)吗?

时间:2019-05-18 12:00:14

标签: algorithm big-o

我们能说O(K + (N-K)logK)等于O(K + N logK)的{​​{1}}吗?

3 个答案:

答案 0 :(得分:1)

是的,因为从(N-K) logK开始,给定您的约束,在最坏的情况下N logK最多1 <= K <= N

答案 1 :(得分:1)

不完全是。

如果它们相等,则O(k +(n-k)log k)中的每个函数也都在O(k + n log k)中,反之亦然。

让f(n,k)= n log k

此函数肯定在O(k + n log k)中,但是不是在O(k +(n-k)log k)中。

让g(n,k)= k +(n-k)log k

然后,随着x接近无穷大,f(x,x)/ g(x,x)无限增长,因为:

f(x,x)/ g(x,x)

=(x log x)/ x

=日志x

有关多个变量,请参见big-O表示法的定义:http://mathwiki.cs.ut.ee/asymptotics/04_multiple_variables

Wikipedia提供了相同的信息,但是使用了不太易懂的符号: https://en.wikipedia.org/wiki/Big_O_notation#Multiple_variables

答案 2 :(得分:1)

简短的答案是它们不相等,这取决于k的值。如果k等于N,则第一复杂度为O(N),第二复杂度为O(N + Nlog N),其等效于O(NlogN)。但是,O(N)不等于O(N log N)

此外,如果函数位于O(K + (N-K) log K)中,并且位于O(K + N log K)中(肯定是每个正数K的存在),那么这一点就很简单。