/**
* instruction of project
* * @author aruiea.com
* @classname shellsort
* @version 1.0
* @date 2020/7/31 9:29
* 希爾排序是在插入排序上的拓展:主要解決
* 思路如下:
* 在要排序的一組數中,根據某一增量分為若干子串行,並對子序列分別進行插入排序。
* 然後逐漸將增量減小,並重複上述過程。直至增量為1,此時資料序列基本有序,最後進行插入排序。
* 比如:length=13,假設間隔取k=5.則資料序列下標是:,,,一共k個序列,再對他們進行插入排序。
* 然後把間隔k減少。
* 直到間隔為1。
*/public
class
shellsort
;shell_sort
( arr,arr.length)
;for
(int i : arr)
}public
static
void
shell_sort
(int array,
int lenth)
array[k + gap]
= temp;}}
if(gap ==1)
break;}
}}
資料結構 希爾排序!!!
希爾排序是將一組資料進行分組,再將分組的資料進行排序,這樣資料就會逐漸的趨向有序,當分組的個數為1的時候將整個陣列排序一遍,那麼整個陣列就排序好了。基本思想 先將整個待排元素序列分割成若干個子串行 由相隔某個 增量 的元素組成的 分別進行直接插入排序,然後依次縮減增量再進行排序,待整個序列中的元素基...
資料結構 希爾排序
1 希爾排序是在直接插入排序的基礎上改良而來的,直接插入排序需要記錄基本有序的情況下才能變得很高效,希爾排序便是採取跳躍分割的策略,將相距 增量 的元素組成乙個子串行,這樣才能保證最後進行直接插入排序時的序列是基本有序的。希爾排序的時間複雜度是 2 希爾排序實現演算法 include include...
資料結構 希爾排序
希爾排序是donald shell於1959年提出來的一種排序演算法,它是第一批突破這個時間複雜度的演算法之一。大話資料結構對這個演算法的講解,我看得一知半解的,之後網上找了下資料,發現維基百科對這個演算法的講解非常不錯,特在此整理一波。希爾排序是基於插入排序的以下兩點性質而提出改進方法的 先上個維...