插入排序算法,就这么简单,还学不会算我输( 二 )

那 Arrays.sort 是如何实现的呢?JDK 1.2 的时候有了 Arrays,JDK 1.8 时优化了一版 sort 算法 。大致如下:

  • 如果元素数量小于 47,使用插入排序
  • 如果元素数量小于 286,使用快速排序
  • Timsort 算法整合了归并排序和插入排序

插入排序算法,就这么简单,还学不会算我输

文章插图
 
源码中我们看到了 mergeSort 里面整合了插入排序算法,跟上面实现的异曲同工 。这边就不一行一行解释了 。
五、小结算法是解决问题的 。所以不一定一个算法解决一个问题,可能多个算法一起解决一个问题 。达到问题的最优解 。插入排序,这样就这么简单




推荐阅读