排序算法之桶排序
桶排序,顾名思义,把数据放在桶里面进行排序,例如实际中高考出成绩的时候,有些高考大省的人数有近百万,考生需要知道自己在全省的排名,怎么才能快速排序出来呢。我们固然可以利用快速排序,但是我们仔细思考其实可以发现,考生的分数区间基本都在0-750之间,换言之虽然考生有近百万,但是他们的分数其实只有751种类型。
这种情况下,我们完全可以把0-750放入一个LinkedHashMap<Integer,List<Student>>
中(保证分数的有序性),然后遍历100w的考生,将考生放入对应分数的list集合中,最后从map中取出集合拼接即可,虽然很快速,但是对于数据有了严格的要求,所以泛用性不是很大。