作业帮 > 综合 > 作业

有10万个学生的成绩,成绩在0-100之间,对其排序,然后输出.请问用哪种排序算法的效率最高?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/27 16:45:22
有10万个学生的成绩,成绩在0-100之间,对其排序,然后输出.请问用哪种排序算法的效率最高?
一般来说,快速排序是万能的,时间复杂度O(nlogn)
但对于这题来说,由于要排序的元素范围在0-100之间,所以用【计数排序】可以在O(n)的复杂度完成排序
具体做法是,开一个数组,范围是0-100,即a[100],依次读取每一个元素i,将a[i]+1,可知每个元素出现了多少次,然后从0-100依次输出即可(这是从小到大,从大到小反过来就行了)!
不懂可问,满意请采纳谢谢!