希尔排序: 首先希尔排序是插入排序的一种改良版本,也是第一个时间复杂度突破O的n次方的算法,插入排序的每个元素都要从后往前和前面的每个元素进行比较。时间复杂度比较高。 希尔排序作了改良,就是每次都把数组分红若干个小组,这么作的好处有两个,一个是数组分组大的时候插入的次数少,分组间隔小的时候插入的次数也少,从而大大下降时间复杂度。 首先看一下插入排序实现的算法代码: `for(int i=1;i<a.length;i++){ for(int j =i;j>0 &&arr[j]<arr[j-1];j- -){ swap[arr,j,j-1] } }` 再看一下改良版的希尔排序