所以我有一些给定的功能,需要为他们喜欢Big Oh(我做过)。
log是自然对数。
我很确定1,2,5是正确的。 对于3我在这里找到了一个解决方案:n log(n ^ 2)= 2 n log(n)=> O(n log n) 但我完全不确定4)。 n ^ 3肯定比n * log(n ^ 2)大,但是它的哦呢?我的另一个猜测是O(n ^ 2)。
其他一些事情:
如果有人可以解释,如果它是错误的话会很棒。谢谢!
答案 0 :(得分:2)
请记住,big-O在函数上提供渐近上限,因此任何O(n)函数也是O(n log n),O(n 2 < / sup>),O(n!)等。由于log n = O(n),我们有n log 2 n = O(n 3 )。同样,n log 2 n = O(n log 2 n)和n log 2 n = O(n 2 )。实际上,对于任何ε> 1,n log 2 n = O(n 1 +ε)。 0,因为log k n = O(n ε)对于任何ε> 0。 0
函数n 2 log n和n 2 log 2 n不能简化为其他一些函数的方式能够。形式为O(n k log r n)的运行时并非罕见。事实上,有许多算法具有运行时O(n 2 log n)和O(n 2 log 2 n),这些运行时通常是这样的。例如,Karger-Stein算法的每次迭代都需要时间O(n 2 log n),因为此运行时来自应用于重现的主定理
T(n)= 2T(n/√2)+ O(n 2 )
希望这有帮助!