代码之家  ›  专栏  ›  技术社区  ›  Ali Tarhini

合并排序有多少种变体?

  •  0
  • Ali Tarhini  · 技术社区  · 15 年前

    我正在寻找.NET中有多少种不同的合并排序实现,因为我正在检查这篇文章 Sorting Algorithms in VB.Net: How To Implement Merge Sort 文章还提到,还有其他几个版本,如在适当的地方和不知道还有什么…

    1 回复  |  直到 15 年前
        1
  •  0
  •   Tobias Langner    15 年前

    数不清。如您所见: http://en.wikipedia.org/wiki/Merge_sort 例如,可以根据CPU进行优化。您也可以选择不同的.NET语言(像F这样的功能性语言可能很有趣),还可以创建多线程版本。 对于就地排序:如果您可以创建一个就地工作的排序算法,那么它只需要O(n)空间,而不需要(例如)O(n log n)。这对于大型数据集可能很重要。

    我想有很多关于合并排序的研究,所以如果您需要更多的实现/变体,只需查看关于这个主题的论文。