计数排序 也称为 “桶排序”,它是Python中很常见的一种排序方式。计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。
算法解析
1.找出排序数组中最大和最小的元素;
2.统计数组中每个值为i的元素出现的次数,存入数组Z的第i项;(在此,要排序的数必须在大于等于0,且由于复杂度的问题,数组元素的上限也有一定的限制。)
3.对所有的计数累加,就是从Z中的第一个元素开始,每一项和前一项相加。
4.反向填充目标数组:将每个元素i放在新数组的第Z(i)项,每放一个元素就将Z(i)减去1。
算法图示(参考与菜鸟教程)
http://www.runoob.com/python3/python-counting-sort.html
代码演示
s&#