演算法子目錄:
首先將元素分在不同的桶中,然後對每個桶中的元素進行排序。
我們有個列表:[29,5,10,68,40,90,75]
我們大概得出資料分布在0-100之間,那麼我們可以建立五個桶,每個桶表示0-100之間五分之一的範圍。
t1=[5,10] (0~20)
t2=[29,40] (21~40)
t3= (41~60)
t4=[68,75] (61~80)
t5=[90] (81~100)
同時他們整體還是乙個列表 li=[t1,t2,t3,t4,t5]。
我們可以分桶後,對每個桶進行排序,然後彙總各個桶即可。
桶排序的表現取決於資料分布,也就是對不同的資料分桶時採取不同的分桶策略。
平均時間複雜度:o(n+k)
最壞時間複雜度:o(n2k)
空間複雜度:o(nk)
排序演算法 桶排序
桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 桶排序是鴿巢排序的一種歸納結果。當要被排序的陣列內的數值是均勻分配的時候,桶排序使用線性時間 n 但桶排序並不...
排序演算法 桶排序
2009 12 02 12 01 2817人閱讀 桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 桶排序是鴿巢排序的一種歸納結果。當要被排序的陣列內的數值是均...
排序演算法 桶排序
桶排序 bucket sort 或所謂的箱排序的原理是將陣列分到有限數量的桶子裡,然後對每個桶子再分別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 最後將各個桶中的資料有序的合併起來。排序過程 假設待排序的一組數統一的分布在乙個範圍中,並將這一範圍劃分成幾個子範圍,也就是桶 ...