Java 集合中的排序算法浅析
原文中文,约11400字,阅读约需28分钟。
📝
内容提要
TimSort是一种自适应、混合、稳定的排序算法,时间复杂度为O(nlogn),空间复杂度为O(n),minrun的取值建议在32~64之间,它会对待排序序列进行划分,找出连续有序的子序列,并且利用栈结构进行合并,还有一种gallop(飞奔)模式可以减少参与归并的数据长度。Java1.8中的TimSort类位于java.util.TimSort,DivalQuickSort算法也是一种快速排序,它会选取两个数作为pivot,划分出三个区间,每次递归迭代时遍历待处理的区域数据,然后比较它应该放的位置,并进行交换操作。
🏷️