排序算法笔记

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

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

图片.png

相关文章
相关标签/搜索