标签: sorting merge
在合并排序中,我们总是将数组分成两次。为什么我们不把它分成两次?堆排序和合并排序哪个更好?我
答案 0 :(得分:4)
为什么不尝试看看。编写一个合并排序,分为5个而不是2个,并测试其性能。最好的学习方法是尝试。
它对计算复杂性没有影响,因此改进最多是一个常数因素。您将合并传递的数量减少了1g(5)≈2.3,但合并步骤现在需要优先级队列,这比两阶段合并使用的单次比较要快2.3倍。
分为2个以上的部分称为polyphase merge sort,当您需要最小化合并传递次数时使用它。