标签: java
我有一个家庭作业问题我一直遇到很多麻烦。我将在这里输入问题的确切措辞:
给定k个排序列表L1,L2,...,Lk的n / k个数,每个具有1 <= k &lt; = n,设计一个分而治之的算法来对所有n个数字进行排序 k排序列表。您的算法应该在O(nlogk)时间运行 (而不是O(nlogn)时间)。
我猜测所使用的算法将是一个修改过的合并排序,但我不知道从哪里开始。感谢您给我的任何帮助!
答案 0 :(得分:0)
使列表成对并使用o(n)中的合并对它们进行排序。求助结果log_k次。
答案 1 :(得分:0)
如果列表已经排序,我认为你要找的是k-way merge。