事先知道序列中的記錄都位於某個小區間段[0,m)內。 將具有相同值的記錄都分配到同乙個桶中,然後依次按照編號從桶中取出記錄,組成乙個有序序列。
桶式排序演算法
template演算法分析:– 統計計數時:θ(n+m)class bucketsorter:public sorter;
template
void bucketsorter::sort(record array, int n,int
max)
– 輸出有序序列時迴圈n次
– 總的時間代價為θ(m+n)
– 適用於m相對於n很小的情況
– m個計數器,長度為n的臨時陣列,θ(m+n)
注意:當m相對n很大時,桶排序便不再適用。
桶排序案例分析:
將待排序的陣列從後往前排。
排序演算法 桶排序
桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 桶排序是鴿巢排序的一種歸納結果。當要被排序的陣列內的數值是均勻分配的時候,桶排序使用線性時間 n 但桶排序並不...
排序演算法 桶排序
2009 12 02 12 01 2817人閱讀 桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 桶排序是鴿巢排序的一種歸納結果。當要被排序的陣列內的數值是均...
排序演算法 桶排序
桶排序 bucket sort 或所謂的箱排序的原理是將陣列分到有限數量的桶子裡,然後對每個桶子再分別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 最後將各個桶中的資料有序的合併起來。排序過程 假設待排序的一組數統一的分布在乙個範圍中,並將這一範圍劃分成幾個子範圍,也就是桶 ...