希尔排序
如果上一篇初级排序算法中的插入排序你已经熟悉,那么今天的这个希尔排序对你来说就要简单一些。希尔排序,就是使用不同增量进行一遍一遍的插入排序的排序算法。首先,增量是什么?...希尔排序的思想就是使数组中任意间隔为h的元素都要有序,间隔h就是增量,之所以叫他增量,是因为他是在不断变化的。...array[j-h] = temp;
}
}
h=h/3;
}
}
}
可以看到代码中...今天我们代码中使用的是1,24,13,40,121,364…这一个增量序列,其实,还有其他别的增量序列可以供我们选择,比如1,2,4,8,16….....也许有人不理解为什么要间隔h,为什么要使用这个递增序列?速度确实可以提升吗?实验数据告诉我们,是的!希尔排序比之前初级排序算法中的排序算法都要快,并且,数组越大,优势越大。但为什么呢?