1.桶排序

下面给大家介绍一个很快很简单的排序算法,桶排序。
桶排序的基本思想我感觉和希尔排序很类似。但在这里,我们主要讲解其思想的主要部分,这里的桶排序还不是完全意义上的排序算法,只是在第一节中让我们接触一下它的思想。

举例:
班里有5个同学,在一次考试中分别为5,3,5,2,8分(满分10分);老师呢要按照这个成绩给班里的同学进行排序,如何让计算机读入这5个数然后将这5个数进行从大到小的输出呢?

流程:
构造一个一维数组,数组下标0-10分别表示分数0-10,不同分数对应的单元格则存储着得此分数的人
1.桶排序
下面来处理每一个人的分数,第一个人是5分
1.桶排序
之后依次增加:
1.桶排序
从小到大的输出就是 2 3 5 5 8

代码:
1.桶排序
复杂度:
第7行循环了m次(m指的是桶的个数),第11行循环了n次(n指的是需要排序的个数),第17,18行一共循环了n+m次,故一共O(n+m+n+m)常数可省略,桶排序的时间复杂度O(m+n)