大 O 表示法 - O(nlog(n)) 与 O(log(n^2))

Big O Notation - O(nlog(n)) vs O(log(n^2))

NLog(N)和Log(N^2)的写法一样吗?如果是,为什么不这样写?

NLog(N) 是标准符号吗?我觉得 Log(N^2) 看起来不那么混乱。

Nlog(N) = log(N^N) 所以没有,正如 zerkms 上面 log(N^2) = 2log(N)

对数相加与数字相乘相同,因此log(n*n) 变为log(n) + log(n) = 2 log(n)。

n log(n) 接近线性。前n个是重要的部分,后面的增长比较慢

例如归并​​排序有 n log n 时间复杂度,因为如果你把合并想象成一棵树,那么这棵树有 log(n) 层高,并且在每一层上处理所有 n 个元素。

  • O(log(n^2)) 就是 O(2 log(n)) = O(log(n))。它是一个对数函数。它的值 比线性函数 O(n).

  • 小得多
  • O(n log(n))是一个更大的函数。它的值比线性函数O(n)

它们是 完全不同的 函数(以及不同的 big-O 复杂性)。 O(n log(n))O(log(n^2))

大得多

此图显示了差异: