C++排序算法之计数排序

计数排序 像快排、堆排、归并等排序算法都是基于比较的排序算法,时间复杂度最好状况也只能降到O(nlogn)。 计数排序是一种线性排序算法,不须要进行比较,时间复杂度为O(n)。(注意是计数排序不是基数排序,二者不一样) 基本思想是:对于每一个元素x,找出比x小的数的个数,从而肯定x在排好序的数组中的位置。此算法须要辅助数组,是以空间换时间。 举例说明: 原始数组:arr 1 5 3 7 6 2 8
相关文章
相关标签/搜索