4.计数排序
它的工作原理是计数排序的工作原理是使用一个额外的数组 C,其中第 i个元素是待排序数组 A中值等于 i 的元素的个数,然后根据数组 C来将 A 中的元素排到正确的位置。
它的工作过程分为三个步骤:
- 计算每个数出现了几次;
- 求出每个数出现次数的 前缀和;
- 利用出现次数的前缀和,从右至左计算每个数的排名。
时间复杂度
计数排序的时间复杂度为O(n+w) ,其中 w代表待排序数据的值域大小。
稳定性¶
计数排序是一种稳定的排序算法。
计数排序快于任何比较排序算法。 当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(n*log(n))的时候其效率反而不如基于比较的排序