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

问题描述 投票:0回答:1

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

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

sorting big-o mergesort
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.