Menu
CoddyTech

时间和空间复杂度

Coddy 基数排序:数据结构与算法系列 课程的第 7 课,共 9 课。

时间复杂度:

  • O(d * (n + k))
    • 其中,n 是元素的数量,k 是基数(10),d 是最大值的位数。每一轮共进行 d 轮,每轮需要 O(n + k) 的工作量。
  • 当 d 较小且固定时,它的表现类似于 O(n),比比较排序的 O(n log n) 更快。

空间复杂度:

  • O(n + k)
    • 每一轮都会构建一个大小为 n 的输出数组和一个大小为 k 的计数数组。

总结:

  • 基数排序是一种稳定的非比较排序,对于位数有限的整数键,其速度可以超过 O(n log n)。
  • 它要求键可以拆分为数字,并且需要一些额外内存;此版本假设整数为非负数。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基数排序:数据结构与算法系列中的所有课

自己练习: C 在线编译器