基数排序
def radix_sort(lst, max_value): radix = 0 while max_value: buckets = [[] for _ in range(10)] for i in lst: buckets[(i // (10 ** radix)) % 10].append(i) print(buckets) cur = 0 for i in range(10): for j in buckets[i]: lst[cur] = j cur += 1 max_value //= 10 radix += 1 时间复杂度: 最优:$O(n×k)$ 最坏:$O(n×k)$ 平均:$O(n×k)$ 空间复杂度: $O(n + k)$ 稳定性: 稳定