java - 合并排序 : Revision

标签 java algorithm mergesort

归并排序的工作方式是:

获取值列表

一分为二

取每个列表的第一个元素,最小值进入一个新列表(我想从原来的列表中删除)。比较接下来的两个数字 - 这样做直到一个列表为空,然后将另一个列表的其余部分放在 nw 列表的末尾?

此外,在链表上执行此操作的后果是什么?

谢谢

最佳答案

你描述的只是合并(没有排序),排序是在归并排序中递归完成的。

Also, what are the ramifications of doing this on a linked list?

拆分链表的成本可能太高,如果您有两个已排序的列表,您可以轻松地合并它们以保持顺序。

关于java - 合并排序 : Revision,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2667647/

相关文章:

java - 使用 HashMap 问题映射超过 5908 条数据线

java - 谁能告诉我此查询中 spring-data 投影警告的原因吗?

c - 尝试在 bmp 文件中画线时如何在 C 中实现 Bresenham 的线算法?

c - 合并排序程序中的段错误

c++ - 合并排序导致堆栈溢出?

algorithm - 3路和2路合并排序不失一般性?

java - OpenGL ES 2.0 - 用纹理画线?

java - 当我们散列特定字符串或单词时,真正发生的事情(实际过程)

python - 计算 N 的因式分解中有多少个不同的素数

algorithm - 拥有/想要列表匹配算法