前面介绍了经典的数据结构和算法,这一节我们对这些数据结构和算法做一个总结,具体细节,请参见各个章节的详细介绍,这里我们用表格来呈现它们的效率。
1. 数据结构部分
数据结构中常用的操作的效率表
通用数据结构 | 查找 | 插入 | 删除 | 遍历 |
O(N) | O(N) | 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. 排序算法
常见的排序算法比较表