mergesort复杂度O(nlogn)+ O(n)?

时间:2016-07-17 01:42:34

标签: time-complexity mergesort

在分析合并排序的时间复杂度时,我知道由于存在O(log(n))级别且每个级别采用O(n)操作,因此整个时间复杂度应为O(nlog(n) )。

然而,没有划分O(n)总数?元素集的每次划分需要O(1),但是你总共划分O(n)次,那么合并排序的除法部分是否取O(n)?例如,如果你有8个元素,你必须划分7次,如果你有16个元素,你必须划分15次。

那么,整个合并排序时间复杂度在技术上是不应该是O(nlog(n))+ O(n)?我知道O(nlog(n)+ n)与O(nlog(n))是一回事,但似乎没有人在合并排序时间复杂度的解释中提到这一点。

1 个答案:

答案 0 :(得分:2)

O( n log n + n )与O( n log 相同>名词的)。 n log n 的增长速度超过 n ,因此 n 一词无关紧要。

相关问题