菜雞筆記之 桶排序

2021-10-07 09:09:19 字數 858 閱讀 9525

桶排序:

桶排序可以理解為簡化版的計數排序,自然地限制條件就更多,適用範圍更窄,原理跟計數排序類似,而且比較簡單;

桶排序大概比較適合於元素為正整數,且最大值不太大地情形,而計數排序還適用於整數(可含負整數),跨度不太大的情形,兩者都不適用於字串排序。

時間複雜度:o(n+k);

**實現(桶排序):

# include

# include

# include

intmain

(void

)int

max(

int a,

int)

;int max =

max(a,n)

;int

*bucketsort

(int a,

int,

int)

;int

* result =

bucketsort

(a,max,n)

;//排序並將排好序的陣列首位址傳給result

for(i =

0;i1;i++

)//輸出

}free

(result)

;return0;

}int

max(

int a,

int n)

//求最大值函式

}return max;

}int

*bucketsort

(int a,

int max,

int n)

//桶排序函式

return bucket;

}

菜雞筆記之 希爾排序

希爾排序 時間複雜度 平均o nlogn 穩定性 不穩定排序 思路 將資料分組,每相隔step 步長 對每一組進行插入排序。希爾排序為插入排序的進一步優化 實現 希爾排序 include include intmain void 輸入陣列 for int i 0 i 排序 void shellsor...

菜雞筆記之 歸併排序

歸併排序 將資料一步步細分,對每一部分進行排序,在將各個部分合起來排序 實現 歸併排序 include include include intmain void 輸入 for int i 0 i 排序 void mergesort int int,int,int void merge int int...

菜雞筆記之 計數排序

計數排序 計數排序是非比較排序,它是分布排序,其時間複雜度可以突破nlogn達到o n 但是其適用範圍相對較小,不適合字串比較,不適合資料跨度較大的陣列的排序。時間複雜度 o n 穩定性 穩定排序 思路 1 開乙個與原始陣列一樣大的陣列result,用於排序後儲存結果 2 開乙個臨時陣列temp,其...