[刷Leetcode]Python 排序算法(一):非比较排序
计数排序
算法描述:
找出待排序的数组中最大和最小的元素;
统计数组中每个值为i的元素出现的次数,存入数组C的第i项;
对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加);
反向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1。
不太白话的白话解释:创建一个从数组中最小到最大元素的一个列表(列表下标为元素大小),先从头到尾遍历一遍,为每一个对应的元素大小的出现次数计数,然后再从小到大依次添加到结果中
动图演示:
算法性质:
空间复杂度:数据分类的类别数(即
原创
2020-11-26 18:25:40 ·
245 阅读 ·
0 评论