合併排序是一種相當常見的排序算法,我寫了一個工作的合併排序算法。然後我想優化它。第一步是將其從遞歸轉換爲迭代,我就是這樣做的。然後我看不出還有什麼可以優化的。經過網絡上的大量文章,我得到了兩個機制,使用多合併排序和平鋪合併排序。然而,沒有任何文件提供任何僞代碼,甚至不關心如何去做,以及它如何提供其作者所說的優點,如緩存友好和改進的局部性。優化Mergesort
任何人都可以詳細說明這個問題,如果可能的話,提供一些僞代碼?具體來說,我想知道如何讓它緩存友好。我完全不知道這些東西是什麼,否則我會自己嘗試。
如果你想謙虛,看看Timsort。這是一個合併排序,但它充滿了瘋狂聰明的優化。 – delnan
我想你的意思是'Timsort'。 – SexyBeast
是的,愚蠢的錯字。修正:) – delnan