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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 07:16:44
有10万个学生的成绩,成绩在0-100之间,对其排序,然后输出.请问用哪种排序算法的效率最高?

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

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