Menu
CoddyTech

时间和空间复杂度

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

时间复杂度:

  • O(n + k)
    • 其中,n 是元素数量,k 是值的范围(max + 1)。遍历一次进行计数,再遍历一次计数结果以重建数组。
  • 当 k 较小且固定时,实际复杂度为 O(n),比比较排序的 O(n log n) 更快。

空间复杂度:

  • O(n + k)
    • 计数数组占用 O(k) 空间,输出占用 O(n) 空间。

总结:

  • 计数排序是一种稳定的非比较排序,在整数范围较小时可以在线性时间内运行。
  • 当值的范围 k 非常大时,计数数组会很大,因此计数排序不适合这种情况。这个版本假设整数为非负数。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

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

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

自己练习: C 在线编译器