桶排序在值域较小的情况下复杂度很低,为什么很少有人考虑桶排序?
  • 板块学术版
  • 楼主AC_loveRealNewbie
  • 当前回复13
  • 已保存回复13
  • 发布时间2023/8/9 23:17
  • 上次更新2023/11/3 04:50:10
查看原帖
桶排序在值域较小的情况下复杂度很低,为什么很少有人考虑桶排序?
186472
AC_loveRealNewbie楼主2023/8/9 23:17

一些输入数据值域较小的题目用桶排序都可以优化复杂度,更有甚者有时可以让一个非正解拿到满分:https://www.luogu.com.cn/problem/P2824

比如这道河北省选题,如果用复杂度为 O(nlog⁡n)O(n \log n) 的 STLsort 不开 O2 是 40 分,开 O2 是 80 分,桶排序不开 O2 是 80 分,开 O2 是 100 分,诸位都是有过大赛经历的选手,二十分到四十分的重要性不言而喻,有时候这种冷门算法往往能让你骗到相当的分数。

诚然,这种线性复杂度的排序算法确实有很多局限性,比如当值域较大的时候复杂度爆炸,再比如对于包含多个信息的元素(人话:结构体)排序时毫无用处,但是在特定情况下,桶排序还是相当优秀的排序算法,只是不知道为什么,这种算法好像一直很冷门,感觉无人问津。

2023/8/9 23:17
加载中...