排序算法--桶排序

桶排序的基本思想

现在有一个数组A,这个数组有size个元素,元素的范围为0~MAX。要求对这size个数据进行排序。

建立一个大小为MAX+1的数组B,每一个元素都为0。从头开始遍历A,当遍历到A[i]的时候,令B[A[i]]的值加1;

当把A整个扫面结束之后,输出B就得到了最后的排序结果。

一个桶排序的面试题

面试官:请实现一个排序算法,要求时间复杂度为O(n)。

评聘者:对什么数字进行排序啊,有多少个数字?

面试官:想对公司所有员工的年龄排序,我们公司总共有几万名员工吧。

应聘者:也就是说数字的大小在一个较小的范围内,对吧?

面试官:是的。

应聘者:可以使用辅助空间吗?

面试官:只允许使用常量大小的辅助空间,不能找过O(n)。

利用同排序的代码实现

原文地址:https://www.cnblogs.com/stemon/p/4640747.html