您的位置:首页 > 其它

LeetCode基础-排序

2017-10-31 08:33 211 查看
排序是最基本也是最常用的算法之一。

常用的几个排序算法是:

排序

– 冒泡排序

插入排序

选择排序

合并排序

堆排序

快速排序

这些排序算法的基本性质和特点如下:

冒泡排序,插入排序,选择排序的平均时间复杂度都是:O(n2)

合并排序,堆排序,快速排序的平均时间复杂度都是:O(n*log2n)

冒泡排序,插入排序,选择排序的空间复杂度都是:O(1)

合并排序的空间复杂度是:O(n),(占用空间较多)

堆排序的空间复杂度是:O(1)

快速排序的空间复杂度是:O(log2n)~O(n)

冒泡排序,插入排序 是稳定的排序算法。

选择排序 是不稳定的排序算法。

堆排序,快速排序 是不稳定的排序算法。

堆排序 是不稳定的排序算法。

注:是否稳定指的是排序过程中重复值的相对位置是否改变。

应用题:

调度,

负载均衡,

逆域名排序,

垃圾邮件大战

公正的选举,

计算Kendall tau 距离,

空闲时间,

多维排序,

股票交易,

简单多边形,

文件名排序,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: