网站首页 > 精选教程 正文
作为一名 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知识
- 上一篇: java实现10种排序算法
- 下一篇: 图解 SQL 执行顺序,三连暴击
猜你喜欢
- 2025-04-26 图解 SQL 执行顺序,三连暴击
- 2025-04-26 java实现10种排序算法
- 2025-04-26 java实现冒泡排序
- 2025-04-26 10 个经典的 Java 集合面试题,看你能否答得上来?
- 2025-04-26 Java面试中常被问到的集合类深度解读
- 2025-04-26 Java ArrayList基本操作及高级用法
- 2025-04-26 使用组合、排列和产品进行彻底的 JUNIT5测试
- 2025-04-26 Redis 源码简洁剖析 - Sorted Set 有序集合
- 2025-04-26 常见的三种排序(冒泡排序、插入排序、选择排序)
- 2025-04-26 Java集合框架中 ArrayList 和 LinkedList 的深度剖析
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)