TimSort --Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,內部實現換成了TimSort

喬西:在JDK1.7以前我們幾乎就是按照MergeSort來實現Arrays.sort()的。只是細節上略有差別。當集合小於7的時候我們使用插入排序。當集合大於7的時候,先通過遞歸分解,把集合分解成若干等於7的子集合。我們再採用插入排序來進行子集合的排序。這是因爲插入排序在小集合排序上最壞時間複雜度和MergeSort的運算量差不多,但最好情況優於MergeSort。具體的實現你可以通過Array
相關文章
相關標籤/搜索