当前位置: 首页 > news >正文

Java | 排序内容大总结

不爱生姜不吃醋⭐️
如果本文有什么错误的话欢迎在评论区中指正
与其明天开始,不如现在行动!

文章目录

  • 🌴前言
  • 🌴算法整理
  • 🌴两个结论
  • 🌴总结


🌴前言

本文内容是关于选择排序、冒泡排序、插入排序、归并排序、快速排序、堆排序的时间复杂度、空间复杂度和稳定性的总结。


🌴算法整理

排序算法时间复杂度额外空间复杂度稳定性
选择排序 O ( N 2 ) O(N^{2}) O(N2) O ( 1 ) O(1) O(1) × × ×
冒泡排序 O ( N 2 ) O(N^{2}) O(N2) O ( 1 ) O(1) O(1) √ √
插入排序 O ( N 2 ) O(N^{2}) O(N2) O ( 1 ) O(1) O(1) √ √
归并排序 O ( N ∗ l o g N ) O(N*logN) O(NlogN) O ( N ) O(N) O(N) √ √
快速排序 O ( N ∗ l o g N ) O(N*logN) O(NlogN) O ( l o g N ) O(logN) O(logN) × × ×
堆排序 O ( N ∗ l o g N ) O(N*logN) O(NlogN) O ( 1 ) O(1) O(1) × × ×

一般的排序选择:快速排序
因为快速排序经过实验它的常数项是最低的

有空间限制的话选择:堆排序

需要稳定性的话选择:归并排序

小样本量排序:使用时间复杂度为 O ( N 2 ) O(N^{2}) O(N2) 的算法,比如:插入排序

大样本量排序:使用时间复杂度为 O ( N ∗ l o g N ) O(N*logN) O(NlogN)的算法,比如:快速排序

🌴两个结论

基于比较的排序,有没有时间复杂度比 O ( N ∗ l o g N ) O(N*logN) O(NlogN) 小的排序算法:目前没有

在时间复杂度为 O ( N ∗ l o g N ) O(N*logN) O(NlogN) 下,有没有空间复杂度比 O ( N ) O(N) O(N)小的且稳定的排序算法:目前没有


🌴总结

文章本文内容是关于排序算法内容的大总结,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!


http://www.lryc.cn/news/160604.html

相关文章:

  • Go 语言入门指南:基础语法和常用特性解析
  • 20.添加HTTP模块
  • Qemu 架构 硬件模拟器
  • 通过starrocks jdbc外表查询sqlserver
  • ArcGIS 10.5安装教程!
  • ConstraintLayout约束布局
  • 通过pyinstaller将python项目打包成exe执行文件
  • P1068 [NOIP2009 普及组] 分数线划定
  • 应用在汽车新风系统中消毒杀菌的UVC灯珠
  • TOOLLLM: FACILITATING LARGE LANGUAGE MODELS TO MASTER 16000+ REAL-WORLD APIS
  • 【JavaSpring】spring接口-beanfactory和applicationcontext与事件解耦
  • 《深入理解Java虚拟机》——Java内存区域与内存溢出异常
  • 公众号hanniman往期精选
  • 谷粒商城----缓存与分布式锁
  • 【JavaEE进阶】Spring事务和事务传播机制
  • 【Hive】drop table需注意外部表
  • 【2023数学建模国赛】A题定日镜场的优化设计模型建立
  • QT 事件与信号区别
  • [Vue3 博物馆管理系统] 使用Vue3、Element-plus tabs组件构建选项卡功能
  • 【算法专题突破】滑动窗口 - 长度最小的子数组(9)
  • 骨传导与入耳式耳机哪种音质好?该如何选择?
  • 【多线程】Timer任务定时器实现与盲等原子性问题的解决
  • SpringCloud-GetWay 路由网关
  • 使用生成式 AI 增强亚马逊云科技智能文档处理
  • 谈论浏览器内核
  • 电商卖家保障数据隐私和安全用什么安全的浏览器?
  • ECS通过DNAT将C非专线网段并网
  • g++模板显式实例化big file例子
  • Redis 删除策略
  • 自动化运维——ansible (五十二) (01)