希尔排序法
基于Java语言实现
本文主要围绕希尔排序法的实现
希尔排序法简介
原理:希尔排序法就是将一组无序的数据分割成若干个小的子序列分别进行插入排序的方法。因此希尔排序首先要选定一个增量值作为分组的依据,通过增量值的间隔来得到不同的插入排序组,然后对每一组的数据进行插入排序,但增量值要不断地进行递减才能达到排序的目的。
插入排序法 宏泽,公众号:豆农成长排序算法 - 插入排序法
说明:希尔排序法的本质是插入排序法,通过递减增量值的方式使得排序变得更加高效,因此希尔排序法也可以叫做缩小增量法。
相关性质
时间复杂度:O(nlogn)
空间复杂度:O(1)
稳定性:不稳定
排序位置:原地排序
代码实现
public static void shellSorting(int[] arr) {
希尔排序法