为什么合并排序复杂度被认为是O(n log n),这不是完全的复杂性?

时间:2017-12-27 03:27:42

标签: sorting big-o mergesort

我遵循在最坏情况n log n中调用合并排序,但是每次调用实际合并split参数数组的复杂性如何呢。

合并排序实际上应该是n log n *排序时间意味着什么。

1 个答案:

答案 0 :(得分:0)

在“传统”合并排序中,每次传递数据都会使排序的子部分的大小加倍。在第一次传递之后,文件将被分类为长度为2的部分。第二次传球后,长度为四。然后八,十六等,直到文件的大小。

有必要将排序部分的大小加倍,直到有一个部分包含整个文件。将截面大小的lg(N)倍增达到文件大小,并且每次传递数据将花费与记录数量成比例的时间。