使用分而治之排序列表

时间:2018-02-24 23:18:41

标签: java

我有一个家庭作业问题我一直遇到很多麻烦。我将在这里输入问题的确切措辞:

  

给定k个排序列表L1,L2,...,Lk的n / k个数,每个具有1 <= k   &lt; = n,设计一个分而治之的算法来对所有n个数字进行排序   k排序列表。您的算法应该在O(nlogk)时间运行   (而不是O(nlogn)时间)。

我猜测所使用的算法将是一个修改过的合并排序,但我不知道从哪里开始。感谢您给我的任何帮助!

2 个答案:

答案 0 :(得分:0)

使列表成对并使用o(n)中的合并对它们进行排序。求助结果log_k次。

答案 1 :(得分:0)

如果列表已经排序,我认为你要找的是k-way merge