TimSort --Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort

乔西:在JDK1.7以前我们几乎就是按照MergeSort来实现Arrays.sort()的。只是细节上略有差别。当集合小于7的时候我们使用插入排序。当集合大于7的时候,先通过递归分解,把集合分解成若干等于7的子集合。我们再采用插入排序来进行子集合的排序。这是因为插入排序在小集合排序上最坏时间复杂度和MergeSort的运算量差不多,但最好情况优于MergeSort。具体的实现你可以通过Array
相关文章
相关标签/搜索