mergesort
-
-
为什么Java的Arrays.sort方法对不同类型的使用两种不同的排序算法? Java 6的方法对基元数组使用Quicksort,对对象数组使用合并排序。我相信大多数时候,快速排序比合并排序更快,并且消耗更少的内存。我的实验支持这一点,尽管两种算法都是O(n log(n))。那
-
多线程快速排序或合并排序 如何为 Java 实现并发快速排序或合并排序算法? 我们在16(虚拟)核Mac上遇到过问题,其中只有一个内核(!)使用默认的Java排序算法工作,而且看到这台非常精细的机器完全未得到充分利用
-
为什么 Java 6 Arrays#sort(Object[]) 从 mergesort 更改为插入排序来表示小型数组? Java 6 的 mergesort 实现在数组长度小于某个阈值时使用插入排序。此值硬编码为 7。由于该算法是递归的,因此对于大型数组,这种情况最终会发生很多次。规范的不会这样做,只是一直使用合并
-
快速排序比合并排序慢? 我昨天正在致力于实现一个快速排序,然后我运行它,期望比Mergesort(我也实现了)更快的运行时。我运行了这两个,虽然快速排序对于较小的数据集10000个元素的数据集,合并排序的速度提高
-
-
链表的气泡排序算法 我编写了一个气泡排序算法来对链表进行排序。我是Java初学者,试图学习数据结构。我很困惑为什么我的第二个元素没有正确排序。 此外,我知道气泡排序的最坏情况是O(n2)。是否可以在链
-
Java Collections.sort(nodes)使用什么排序? 我认为它是MergeSort,即O(n log n)。 但是,以下输出不同意: 我正在按序列号对包含 4 个节点的节点列表进行排序,该排序正在进行 6 次比较。我很困惑,因为6>(4 log(4))。有人可以向我
-
Java 中的 Mergesort 我是Java的新手,并试图在Java中实现mergesort。但是,即使在多次运行程序之后,我也会获得与输出相同的用户给定的输入,而不是所需的排序输出。如果有人能帮助我理解这种意想不到的行为,
标签