11得票3回答
动态增加Java堆空间

我编写了一个Java程序,用于测试不同机器上使用多线程算法处理各种处理器数量的速度。 在某些机器上,合并排序*会失败,因为它需要大量堆空间来处理非常大的数组。我可以在运行程序之前轻松更改Java堆空间大小,但我觉得一个更强大且更容易的方法是从程序内部执行此任务。 是否有一种方式可以在Java程...

11得票5回答
C++中合并多个已排序序列为一个已排序序列的算法

我需要一个算法来将多个已排序的序列合并成一个已排序的序列,假设有X个已排序的序列,每个序列中有n个元素,使用C++编程语言,你能提供一些例子吗? 注意:我不想使用任何库。

10得票3回答
C++如何将已排序的向量合并为一个已排序的向量/从它们中弹出最小的元素?

我有大约一百个已排序的vector<int>集合。尽管大多数向量中只包含少量整数,但其中一些向量包含大量(>10K)整数(因此向量的大小不一定相同)。我想做的是从最小到最大的整数迭代所有这些排序向量中包含的整数。 一种方法是将所有这些排序向量合并为一个排序向量,并进行简单迭...

10得票5回答
使用归并排序对双向链表进行排序。

我从互联网上找到了这段代码,它是用于数组的。现在我想将其改为适用于双向链表(我们应该使用指针而不是索引),你能帮我看看如何更改合并方法吗?(我已经自己改变了排序方法)同时声明一下,这不是我的作业,我只是喜欢使用链表!!public class MergeSort { private Doub...

10得票1回答
多路归并 vs 二路归并

当我们对一个大文件进行外部归并排序时,我们将其分成小文件,对这些小文件进行排序,然后将它们合并回一个大的有序文件。 在合并时,我们可以进行多个二路合并或者一次多路合并。 我想知道哪种方法更好?为什么?

10得票5回答
有没有一种方法可以在Python中对列表进行排序,直到找到第一个已排序的k个元素?

我有一个普通的无序数字列表。我需要在排序后取前k个元素。问题是,如果列表非常长而k很小,则对整个列表进行排序似乎是浪费。我想出了一种算法解决方案,但需要我编写自己的排序实现。我的问题是:是否有一种方法可以使用Python中已经实现的东西来获得相同的效率? 更新: 只是为了澄清,我知道这会给出...

9得票2回答
在Haskell中使用简单的归并排序并行化没有加速效果

注意:本文已于2011-06-10进行了完全重写;感谢Peter的帮助。此外,请不要因为我没有接受一个答案而感到不满,因为这个问题似乎是比较开放的。(但是,如果你解决了它,当然会得到勾选标记)。 另一个用户发布了一个关于并行化归并排序的问题。我想写一个简单的解决方案,但不幸的是,它并没有比顺...

9得票2回答
这个归并排序应该失败了,对吧?

我在 Code Review 上审查 这个归并排序的实现 时,注意到了一些奇怪的事情... /************************************************************ * Mergesort implementation *****...

9得票4回答
C# 归并排序性能优化

只是一个快速的提醒,这不是作业。我只是想要磨练一下我的算法。我正在使用C#玩耍MergeSort,并编写了一个递归方法,可以根据泛型进行排序: class SortAlgorithms { public T[] MergeSort<T> (T[] unsortedArr...

8得票1回答
实现快速排序似乎比归并排序花费更多时间

我正在尝试实现快速排序(使用中位数三项划分元素和小数组插入排序),并将其与归并排序的实现进行比较,但是即使快速排序的平均时间应该比归并排序更好,每次执行时它似乎需要更多的时间来对一个数组进行排序(即使是随机顺序的数组)。有什么想法为什么会发生这种情况吗? public class Quick...