计算机系统应用教程网站

网站首页 > 技术文章 正文

十大排序算法时空复杂度 十大排序算法时空复杂度怎么算

btikc 2024-10-28 13:10:15 技术文章 9 ℃ 0 评论
 作为一名 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知识

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表