天天看點

十大排序算法-------【希爾排序】詳解(Java源碼)

1959年Shell發明,第一個突破O(n²)的排序算法,是簡單插入排序的改進版。它與插入排序的不同之處在于,它會優先比較距離較遠的元素。希爾排序又叫縮小增量排序。

  1. 具體算法描述:
  1. 選擇一個增量序列序列t1,t2,…,tk,其中ti>ti+1,tk=1;
  2. 按增量序列個數k,對序列進行k趟排序;
  3. 每趟排序,根據對應的增量ti,将待排序序列分割成若幹長度為m的子序列,分别對各子序列進行直接插入排序。僅增量因子為1時,整個序列作為一個表來處理,表長度即為整個序列的長度。
  1. 十大排序算法-------【希爾排序】詳解(Java源碼)
  2. 代碼實作

繼續閱讀