问题标签 [mergesort]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
393 浏览

c# - 将数组中的数字放入arraylist

我有用户在 textBox3 中输入的数字,我将它们转换为数组 nums 现在我想将其中的一半放在 arraylist A 中,将一半放在 arraylist B 中我该怎么做?谢谢

编辑:

谢谢,我测试了你的答案,但你所有代码的输出都是 system.collection.generic [system.int32],有什么问题?谢谢

例如,我测试了 ArsenMkrt 写的这个:

0 投票
6 回答
1202 浏览

java - QuickSort vs MergeSort,我做错了什么?

我正在尝试在 Java 中实现几种排序算法,以比较性能。根据我的阅读,我期望 quickSort 比 mergeSort 更快,但在我的代码中它不是,所以我认为我的 quickSort 算法一定有问题:

结果(在 0 到 1500000 之间的 100 万个整数上):

mergeSort(也用 arrayList 实现):1.3sec(平均)(0.7sec 用 int[] 代替)

快速排序:3 秒(平均)

只是我的支点选择不好,还是算法中也存在一些缺陷。

另外,有没有更快的方法用 int[] 而不是 ArrayList() 来编码?(如何声明更大/更小数组的数组大小?)

PS:我现在可以以就地方式实现它,因此它使用更少的内存,但这不是重点。

编辑 1:我通过更改 concat 方法赢得了 1 秒。谢谢!

0 投票
1 回答
1900 浏览

java - 证明优化归并排序的运行时间是 theta(NK + Nlog(N/K))?

好的,我知道 Mergesort 的最坏情况时间为 theta(NlogN),但它的开销很高,并且出现在进行合并的递归树的底部附近。有人建议我们在大小达到 K 时停止递归,并在此时切换到插入排序。我需要证明这个修改后的递归关系的运行时间是theta(NK + Nlog(N/k))?我对如何解决这个问题感到茫然..

0 投票
3 回答
1052 浏览

c - C 中的合并排序可以编译,但不排序

我制作了这个程序来对数组进行排序。它工作正常,但它不会排序!请帮我找出我的逻辑中的错误。谢谢

[更新]它能够工作!我只是按照下面的建议降低了 i、j 和 k。另外,从 i

0 投票
3 回答
200 浏览

c - 有人能告诉我我的归并排序有什么问题吗?

有人可以告诉我下面的合并排序实现有什么问题吗?我已经挠头好几个小时了..

0 投票
3 回答
667 浏览

java - Java 泛型参数

在这里回顾我的基本 ADT 内容以修改面试,并在我学习 Java 的同时尝试用一块石头杀死两只鸟。尝试使用通用链表(我自己创建)为合并排序编写一个简单的算法。事实证明这比我最初想象的要困难得多!谁能帮帮我?我将开始研究基础知识,并在我进一步深入时更新这篇文章。

我的通用链表代码如下:

我正在尝试在我制作的另一个类中访问这个类,如下所示:

我相信,到目前为止,在 add 和 addEnd 方法之前,一切都是正确的,它们应该分别在列表的开头和列表的结尾添加一个泛型。

我的代码继续:

我得到了错误:

MyList 中的 addEnd(S) 不能应用于 (NodeList)

当我跑步时发生

leftSide.addEnd(节点);

谁能看到这个原因/告诉我我的工作是否正确?再次非常感谢!

0 投票
3 回答
29638 浏览

algorithm - 为什么在对链表进行排序时,合并排序优于快速排序

我在论坛中阅读了以下内容:

合并排序对于链表等不可变数据结构非常有效

当数据存储在内存中时,快速排序通常比合并排序快。但是,当数据集很大并且存储在硬盘等外部设备上时,归并排序在速度方面显然是赢家。它最大限度地减少了外部驱动器的昂贵读取

对链表进行操作时,归并排序只需要少量的常量辅助存储

有人可以帮我理解上述论点吗?为什么对大型链表进行排序时首选合并排序?它如何最大限度地减少对外部驱动器的昂贵读取?基本上我想了解为什么要选择合并排序来对大链表进行排序。

0 投票
2 回答
20781 浏览

algorithm - 并行合并排序

我在谷歌搜索:“并行合并排序”并找到“奇/偶合并”是基本组件的算法,但不明白如何使用它。

你能给我链接到并行合并排序的实现或伪代码吗?

0 投票
1 回答
301 浏览

c - C : Mergesort - 什么是错误?错误输出(重复)

我已经用 C 编写了这个“合并排序”。我认为在将元素复制回原始数组时存在错误。有人能帮我吗?

非常感谢提前。

0 投票
3 回答
2019 浏览

c++ - 合并排序算法

在必须“最有效地”使用内存的 C++ 中,什么是“合并排序”的最佳算法?我只知道执行此操作的标准方法,但这不是使用内存的最有效方法。这是我知道的唯一变体:

谁能告诉我一个更好的“合并排序”算法,它以“更有效”的方式使用内存?它也不能与数组一起使用。

非常感谢!