一些输入数据值域较小的题目用桶排序都可以优化复杂度,更有甚者有时可以让一个非正解拿到满分:https://www.luogu.com.cn/problem/P2824
比如这道河北省选题,如果用复杂度为 O(nlogn) 的 STLsort 不开 O2 是 40 分,开 O2 是 80 分,桶排序不开 O2 是 80 分,开 O2 是 100 分,诸位都是有过大赛经历的选手,二十分到四十分的重要性不言而喻,有时候这种冷门算法往往能让你骗到相当的分数。
诚然,这种线性复杂度的排序算法确实有很多局限性,比如当值域较大的时候复杂度爆炸,再比如对于包含多个信息的元素(人话:结构体)排序时毫无用处,但是在特定情况下,桶排序还是相当优秀的排序算法,只是不知道为什么,这种算法好像一直很冷门,感觉无人问津。