基数排序

基数排序和计数排序

跟比较排序比起来,感觉复杂度开挂了

计数排序非常依赖于数值范围,是开了一个值域的桶,然后对着桶输出所有元素,在值域小的情况下非常的快 \(O(V+n)\)

计数排序还有一种权值线段树优化,可以解决大值域问题 \(O(n\log V)\),但是没有什么用删掉

基数排序可以看作计数排序的优化,只不过是把数值拆位了,让桶更好维护,基数取 \(B\),时间复杂度\(O(\log_B{V} n)\)。如果 \(B=\sqrt n\),则 \(O(2n)\),非常地快,吊打快排。

基数排序还可以应用在倍增求解后缀数组里

posted @ 2024-02-27 00:27  妖灵梦  阅读(12)  评论(0)    收藏  举报