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

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/18 07:13:03
有10万个学生的成绩,成绩在0-100之间,对其排序,然后输出.请问用哪种排序算法的效率最高?
xRMN@>;yCez{OD9ĢQ:krSfހkNd2h?ڈWP~CQfUƚRߋE9I5)Bev+m96 %V"-t ֺ>9=NoIeP;B{pտ4TeAp?cPR:rK#VFEFu@.p@(BAs(qO%+kf8y~kGX̶T"A%[7Ưums .gJ{yC1z&8t$8t,C4Lw)"`% :Lukwyg#9$Ӊx!

有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依次输出即可(这是从小到大,从大到小反过来就行了)!
不懂可问,满意请采纳谢谢!