为什么主流语言的sort函数都选择了Timsort
1959年,Tony Hoare发明了快速排序。这个算法在教科书中被奉为圭臬,平均时间复杂度$O(n \log n)$,原地排序,缓存友好,几乎完美。然而,六十多年后的今天,当你调用Python的list.sort()、Java的Arrays.sort()或Rust的稳定排序时,底层运行的却是一个叫Timsort的算法。 ...
1959年,Tony Hoare发明了快速排序。这个算法在教科书中被奉为圭臬,平均时间复杂度$O(n \log n)$,原地排序,缓存友好,几乎完美。然而,六十多年后的今天,当你调用Python的list.sort()、Java的Arrays.sort()或Rust的稳定排序时,底层运行的却是一个叫Timsort的算法。 ...