程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

十大排序算法时空复杂度(十大排序算法时空复杂度分析)

balukai 2025-06-24 11:43:59 文章精选 1 ℃
 作为一名 Java 开发工程师,我将总结十大常见排序算法的时间复杂度和空间复杂度。
排序算法时间复杂度和空间复杂度一览表
| 排序算法      | 最优时间复杂度 | 平均时间复杂度 | 最差时间复杂度 | 空间复杂度 |
| -------------- | --------------- | --------------- | --------------- | ---------- |
| 冒泡排序       | O(n)            | O(n^2)          | O(n^2)          | O(1)       |
| 选择排序       | O(n^2)          | O(n^2)          | O(n^2)          | O(1)       |
| 插入排序       | O(n)            | O(n^2)          | O(n^2)          | O(1)       |
| 希尔排序       | O(n log n)      | 取决于步长序列   | O(n^2)          | O(1)       |
| 归并排序       | O(n log n)      | O(n log n)      | O(n log n)      | O(n)       |
| 快速排序       | O(n log n)      | O(n log n)      | O(n^2)          | O(log n)   |
| 堆排序         | O(n log n)      | O(n log n)      | O(n log n)      | O(1)       |
| 计数排序       | O(n + k)        | O(n + k)        | O(n + k)        | O(k)       |
| 桶排序         | O(n + k)        | O(n + k)        | O(n^2)          | O(n + k)   |
| 基数排序       | O(nk)           | O(nk)           | O(nk)           | O(n + k)   |

总结
- O(1) 空间复杂度的排序算法: 冒泡排序、选择排序、插入排序、希尔排序、堆排序
- O(n) 空间复杂度的排序算法: 归并排序、计数排序、桶排序、基数排序
- O(log n) 空间复杂度的排序算法: 快速排序 (平均情况)
---
 关注我,获取更多算法和编程知识!
#Java #算法 #排序算法 #时间复杂度 #空间复杂度 #编程 #IT知识
最近发表
标签列表