algorithm - 合并排序比较

标签 algorithm sorting mergesort

我们如何合并包含 50、10、25 和 15 条记录的 4 个排序文件?因为选择合并顺序会减少/增加比较次数。

最佳答案

对于单个合并,比较的次数取决于记录值,从 1 到两个文件的长度之和。

我建议先合并 10 条记录文件和 15 条记录文件,然后将生成的文件与 25 条记录文件合并,最后将生成的 50 条记录文件与前 50 条记录文件合并。

您还可以实现 4 路合并并并行合并所有 4 个文件。

请记住,文件长度非常小,因此比较次数对最终性能影响不大。

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

相关文章:

c++ - 如何根据某些值删除/删除类对象的 vector

python - 从伪代码python实现合并排序的问题

python - 如何有效地在 Django 中存储对象的排名列表?

c - 链表和(字母)冒泡排序

python - 我如何在 python 中对 csv 文件中的数据进行数字排序

performance - MergeSort 中的两个递归调用是什么?

java - 多线程归并排序

java - 如何将公共(public)元素组合到一个数组中?

algorithm - 将 Haskell 代码翻译成标准 ML(重复组合)

java - 从java中的数组中找出n个缺失元素