基数排序
基数排序和计数排序
跟比较排序比起来,感觉复杂度开挂了
计数排序非常依赖于数值范围,是开了一个值域的桶,然后对着桶输出所有元素,在值域小的情况下非常的快 \(O(V+n)\)
计数排序还有一种权值线段树优化,可以解决大值域问题 \(O(n\log V)\),但是没有什么用删掉
基数排序可以看作计数排序的优化,只不过是把数值拆位了,让桶更好维护,基数取 \(B\),时间复杂度\(O(\log_B{V} n)\)。如果 \(B=\sqrt n\),则 \(O(2n)\),非常地快,吊打快排。
基数排序还可以应用在倍增求解后缀数组里

浙公网安备 33010602011771号