算法系列之--希爾排序及圖解

希爾排序(Shell Sort)是D.L.Shell在1959年提出的,又稱爲縮小增量排序(Diminishing Increment Sort),基本思想是分組的直接插入排序。
圖解

在這裏插入圖片描述
實現

	public static void xierSort(int[] arry){
		
		for (int delta = arry.length/2; delta > 0; delta/=2) {
			
			for (int i = delta; i < arry.length; i++) {
				int temp = arry[i],j;
				for (j = i - delta; j>=0 && temp <arry[j]; j-=delta) {
					arry[j+delta] = arry[j];
				}
				arry[j + delta] = temp; 
			}
		}
	}

複雜度分析

希爾排序算法的時間複雜度分析比較複雜,實際所需的時間取決於具體的增量序列。希爾排序算法的空間複雜度爲O(1)。
希爾排序算法不穩定

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章