合并排序是一种相当常见的排序算法,我写了一个工作的合并排序算法。然后我想优化它。第一步是将其从递归转换为迭代,我就是这样做的。然后我看不出还有什么可以优化的。经过网络上的大量文章,我得到了两个机制,使用多合并排序和平铺合并排序。然而,没有任何文件提供任何伪代码,甚至不关心如何去做,以及它如何提供其作者所说的优点,如缓存友好和改进的局部性。优化Mergesort
任何人都可以详细说明这个问题,如果可能的话,提供一些伪代码?具体来说,我想知道如何让它缓存友好。我完全不知道这些东西是什么,否则我会自己尝试。
如果你想谦虚,看看Timsort。这是一个合并排序,但它充满了疯狂聪明的优化。 – delnan
我想你的意思是'Timsort'。 – SexyBeast
是的,愚蠢的错字。修正:) – delnan