首页 > 代码库 > 排序算法小结
排序算法小结
经典的排序算法有十种,分别是:选择排序、插入排序、希尔排序、冒泡排序、堆排序、合并排序、快速排序、计数排序、基数排序和桶排序。
下面对这些算法分类如下:
选择排序:简单选择排序、堆排序
插入排序:直接插入排序、二分插入排序、希尔排序
快速排序:快速排序、随机化快速排序
线性时间排序:计数排序、基数排序、桶排序
其他:冒泡排序、合并排序
这些排序排序算法的时间复杂度,稳定性,是否比较排序,是否原地排序等特性总结如下:
排序名称 | 时间复杂度 | 稳定性 | 是否比较排序 | 是否原地排序 |
---|---|---|---|---|
简单选择排序 | O(n^2) | 不稳定 | 是 | 是 |
堆排序 | O(nlgn) | 不稳定 | 是 | 是 |
直接插入排序 | O(n^2) | 稳定 | 是 | 是 |
希尔排序 | O(n^1.5) | 不稳定 | 是 | 是 |
快速排序 | O(nlgn) | 不稳定 | 是 | 是 |
冒泡排序 | O(n^2) | 稳定 | 是 | 是 |
合并排序 | O(nlgn) | 稳定 | 是 | 是 |
计数排序 | O(n) | 稳定 | 否 | 否 |
基数排序 | O(n) | 稳定 | 否 | 否 |
桶排序 | O(n) | 稳定 | 否 | 否 |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。