選擇排序(直接選擇排序,堆排序)
交換排序(氣泡排序,快速排序)
插入排序(直接插入排序,希爾排序)
歸併排序
桶式排序
基數排序
希爾排序也是一種插入排序,它是簡單插入排序經過改進之後的乙個更高效的版本,也稱為縮小增量排序。它的主要思想是將整個序列分成多個子串行,之後依次對每個子串行進行直接插入排序,經過多次不同的子串行分割並排序後,整個陣列基本有序,之後對陣列中的所有元素進行一次直接插入排序。對於倒序的陣列,如果採用直接插入排序的話,需要多次移動和插入操作,而採用希爾排序會大大減少移動的次數,加快了處理速度。
希爾排序的步長可以自己定義,也可以採用每次折半的方法,比如一共有12個資料,第一次步長為6進行第一輪排序,第二次步長為3進行第二輪排序,第三次步長為1進行最後一輪排序。每一次的排序都是直接排序演算法。
public
class
shellsort
system.out.println();}}
public
static
void
main(string args);
shesort(test);
system.out.println("測試結果");
for(int i=0; i" ");}}
}
測試結果
incremt:68
36923
5121034
8137
39incremt:38
35910
6122334
8137
39incremt:13
5689
1012
2334
3739
81 測試結果35
68910
1223
3437
3981
Java排序演算法之希爾排序
希爾排序 shell sort 又稱為 縮小增量排序 是1959年由d.l.shell提出來的。它也是一種屬於插入排序類的排序方法,是一種對直接插入排序的改進,但在時間效率上卻有較大的改進。希爾排序的基本思想是 先將整個待排元素序列分割成若干個子串行 由相隔某個 增量 的元素組成的 分別進行直接插入...
JAVA排序演算法之希爾排序
本章內容對希爾德原理及特點並沒有做太多敘述,主要目的是對希爾排序 進行 解希爾排序內容簡介希爾排序是插入排序的一種,也成縮小增量排序,是直接插入排序演算法的 一種更高效的改進版本 希爾排序是把記錄按下標的一定增量分組,對每組使用直接插入演算法排序,每組包含的元素越來越多,當增量減至1.整個陣列恰被分...
排序演算法之希爾排序 java
希爾排序是基於插入排序而改進的排序方法。它將資料分為多組,再對各組使用插入排序。分組依據是增量d,一般增量是 排序元素的長度 2,呼叫一次插入排序,再繼續除2,再呼叫一次插入排序,再d 2.直到d 1 希爾排序的時間複雜度為 o n平方 思路 如有下列10個帶排序元素 增增量d 10 2 5,即每隔...