乐趣区

关于java:排序算法笔记

 希尔排序:首先希尔排序是插入排序的一种改进版本,也是第一个工夫复杂度冲破 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]
    }
}`

再看一下改良版的希尔排序 

退出移动版