LeetCode基础-排序
来源:互联网 发布:甄子丹功夫怎么样知乎 编辑:程序博客网 时间:2024/05/22 15:09
排序是最基本也是最常用的算法之一。
常用的几个排序算法是:
- 排序
– 冒泡排序
– 插入排序
– 选择排序
– 合并排序
– 堆排序
– 快速排序
这些排序算法的基本性质和特点如下:
冒泡排序,插入排序,选择排序的平均时间复杂度都是:O(n2)
合并排序,堆排序,快速排序的平均时间复杂度都是:O(n*log2n)
冒泡排序,插入排序,选择排序的空间复杂度都是:O(1)
合并排序的空间复杂度是:O(n),(占用空间较多)
堆排序的空间复杂度是:O(1)
快速排序的空间复杂度是:O(log2n)~O(n)
冒泡排序,插入排序 是稳定的排序算法。
选择排序 是不稳定的排序算法。
堆排序,快速排序 是不稳定的排序算法。
堆排序 是不稳定的排序算法。
注:是否稳定指的是排序过程中重复值的相对位置是否改变。
应用题:
- 调度,
- 负载均衡,
- 逆域名排序,
- 垃圾邮件大战
- 公正的选举,
- 计算Kendall tau 距离,
- 空闲时间,
- 多维排序,
- 股票交易,
- 简单多边形,
- 文件名排序,
阅读全文
0 0
- LeetCode基础-排序
- LeetCode基础-排序-选择排序
- LeetCode基础-排序-插入排序
- LeetCode基础-排序-合并排序
- LeetCode基础-排序-快速排序
- leetcode排序算法基础--2017-8-1
- LeetCode基础-查找-排序数组二分查找
- LeetCode基础-排序-二叉堆排序(优先队列)
- LeetCode基础-图-有向图-拓扑排序
- LeetCode基础
- 基础排序
- 排序基础
- 排序基础
- 基础排序
- 【基础排序】选择排序
- 【基础排序】快速排序
- 【基础排序】冒泡排序
- 【基础排序】堆排序
- 第四组-2017.10.31
- 大数据基础设施建设需要得到重视 | 记清华大数据“应用·创新”讲座
- 数据湖架构—读书笔记[2]--数据的生命周期
- java多线程学习体系
- win10安装XGBoost,遇到XGBoostLibraryNotFound错误
- LeetCode基础-排序
- 20171030
- 20171030
- MongoDB整合Spring的版本选择问题
- QT pro文件详细写法+实例
- UVA 442 Matrix Chain Multiplication ( stack 应用)
- 【第1095期】表格边框你知多少
- Python Imaging Library: ImageTk Module(图像Tkinter模块)
- C语言:计算分数精确值