Algorithm--Bucket Sort Notes,

桶排序,假设输入数据服从均匀分布,由一个随机过程产生,该过程将元素均匀、独立地分布在[0,1)区间上,其算法复杂度接近O(n)。桶”:是指将[0,1)区间划分为n个相同大小的子区间。

Part_1:排序思想

首先,将(0,1]区间划分为n个相同大小的子区间;

然后,将n个输入数据分别放到各个桶中(因为是均匀分布,一般不会出现大多数数据落在一个区间的情况);

最后,先对桶中每个元素进行排序,然后遍历每一个桶。

Part_2:伪代码

input:A,0 <=A[i]<1

temp:B,B用来存放链表

BUCKET-SORT(A)

n=length(A)
Create empty array B[0..n-1]
//init B with list
for i=0 to n-1
	B[i] is an empty list
for i =1 to n
	A[i]=B[floor[nA[i]]]
for i=0 to n-1
	sort list B[i] using insertion sort
contatenate the list B[i]


你可能感兴趣的:(桶排序,算法)