基数排序

posted on 2024-05-18 13:36:22 | under | source

初赛前用来安慰自己情绪的。

基本思想就是元素拆成 \([1,k]\) 级关键字,然后逐级排序就好了。

显然有个很蠢的实现,每次分成前 \(i\) 位相等的若干组,之后在组内排序。

注意一下,基数排序、计数排序是稳定的,即排序后相等的元素相等位置不变。

实现肥肠简单,直接从 \(k\to 1\) 计数排序即可。

归纳证明:现在排 \(i\) 位,显然,\(i\) 位相等的元素 \([i+1,k]\) 位相对位置不变,总之 \([i,k]\) 位被排好了。

所以注意计数排序要维护好稳定性。

最后,想必你也明白了2022宇宙射线那题:因为元素变异,不影响其它元素的相对顺序,所以最后移去了没有影响。

posted @ 2026-01-14 18:03  Zwi  阅读(1)  评论(0)    收藏  举报