版权声明:尊重博主原创文章,转载请注明出处
前面介绍了经典的数据结构和算法,这一节我们对这些数据结构和算法做一个总结,具体细节,请参见各个章节的详细介绍,这里我们用表格来呈现它们的效率。
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. 排序算法
常见的排序算法比较表
排序 |
平均情况 |
最好情况 |
最坏情况 |
稳定与否 |
空间复杂度 |
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) |
以上是对经典数据结构和算法部分的一个总结,如有错误之处,欢迎留言指正~
详情查看:http://blog.csdn.net/eson_15/article/details/51952328(转)
-----乐于分享,共同进步!
-----更多文章请看:http://blog.csdn.net/eson_15