算法——计数排序原理和实现(以及优化和改版)

1.以上为计数排序的基本原理和简单实现,其时间复杂度为:o(m+n),但如果待排序的元素范围为90-99,那么用这种方法就会浪费内存和时间(前90号没用到),所以会有优化的方案。

2.如果出现几个元素大小相同时,要求按照原来固有的顺序排序(比如学生的成绩,甲和乙成绩相同,但得按原来给定的顺序:甲先乙后),那么以上给出的方法也不适用,这时候应该将数组中存储的元素改为比它小的所有元素的个数,然后从后往前遍历原数组,从而保证了固有顺序。

3.以上参考:https://blog.csdn.net/csdnnews/article/details/83005778(漫画:什么是计数排序)

这篇文章,是又一个故事的结束...
lazy's story is continuing.
原文地址:https://www.cnblogs.com/Hello-world-hello-lazy/p/13509085.html