注意:我已经考虑过基数排序,存储桶排序,计数排序。
反正有实现大O(n)的方法吗?
您可以使用计数排序。
计数排序(有时称为超排序或数学排序)是一种排序算法(类似于存储桶排序),它利用了知道要排序的数组(数组A)中数字范围的优势。 计数排序是一种稳定的排序,运行时间为Θ(n + k),其中n和k分别是数组A(输入数组)和C(计数数组)的长度。为了使该算法有效,k不得大于n。
计数排序(有时称为超排序或数学排序)是一种排序算法(类似于存储桶排序),它利用了知道要排序的数组(数组A)中数字范围的优势。
计数排序是一种稳定的排序,运行时间为Θ(n + k),其中n和k分别是数组A(输入数组)和C(计数数组)的长度。为了使该算法有效,k不得大于n。
在这种情况下,k为100,n为1000000。