常用的排序算法和时间复杂度
Posted xiangzhihong8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的排序算法和时间复杂度相关的知识,希望对你有一定的参考价值。
1. 数据结构部分
数据结构中常用的操作的效率表
通用数据结构 | 查找 | 插入 | 删除 | 遍历 |
O(N) | O(1) | O(N) | — | |
O(logN) | O(N) | O(N) | O(N) | |
O(N) | O(1) | O(N) | — | |
有序链表 | O(N) | O(N) | O(N) | O(N) |
O(logN) | O(logN) | O(logN) | O(N) | |
二叉树(最坏) | O(N) | O(N) | O(N) | O(N) |
O(logN) | O(logN) | O(logN) | O(N) | |
O(logN) | O(logN) | O(logN) | O(N) | |
O(1) | O(1) | O(1) | — | |
专用数据结构 |
|
|
|
|
— | O(1) | O(1) | — | |
— | O(1) | O(1) | — | |
优先级队列 | — | O(N) | O(1) | — |
— | O(logN) | O(logN) |
|
2. 排序算法
常见的排序算法比较表
排序 | 平均情况 | 最好情况 | 最坏情况 | 稳定与否 | 空间复杂度 |
O(N2) | O(N) | O(N2) | 稳定 | 1 | |
O(N2) | O(N2) | O(N2) | 不稳定 | 1 | |
O(N2) | O(N) | O(N2) | 稳定 | 1 | |
O(NlogN) | (依赖于增量序列) | 不稳定 | 1 | ||
O(NlogN) | O(NlogN) | O(N2) | 不稳定 | O(logN) | |
O(NlogN) | O(NlogN) | O(NlogN) | 稳定 | O(N) | |
O(NlogN) | O(NlogN) | O(N2) | 稳定 | O(N) | |
O(NlogN) | O(NlogN) | O(NlogN) | 不稳定 | 1 | |
O(N+E) | — | — | — | O(N) |
以上是关于常用的排序算法和时间复杂度的主要内容,如果未能解决你的问题,请参考以下文章