BUCKET-SORT(A) 1 n ← length[A] 2 for i ← 1 to n 3 do insert A[i] into list B[⌊n A[i]⌋] 4 for i ←
The natural algorithm would be to bucket-sort by the most significant "digit" (digit is taken to base
BUCKET-SORT(A) 1 n ← length[A] 2 for i ← 1 to n 3 do insert A[i] into list B[⌊n A[i]⌋] 4 for i
把待排序元素分散到不同的桶里面,每个桶再使用桶排序再分别排序(和前面提到的美国旗帜排序差不多,只不过这里需要额外的空间来放置桶,而且放置元素到桶中的过程也不采用美国旗帜排序中的元素交换): function bucket-sort
就是一个较小的常数,所以桶排序时间复杂度接近于 由于桶排序使用了辅助空间,所以桶排序的空间复杂度是 如果桶内使用插入排序等稳定性排序算法,则桶排序也是稳定性排序算法 桶排序算法参考 bucket-sort