前面介绍了经典的数据结构和算法,这一节我们对这些数据结构和算法做一个总结,具体细节,请参见各个章节的详细介绍,这里我们用表格来呈现它们的效率。

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)

2-3-4树

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

常用数据结构和算法操作效率的对比总结相关推荐

  1. iOS标准库中常用数据结构和算法之内存池

    上一篇:iOS标准库中常用数据结构和算法之位串 ⛲️内存池 内存池提供了内存的复用和持久的存储功能.设想一个场景,当你分配了一块大内存并且填写了内容,但是你又不是经常去访问这块内存.这样的内存利用率将 ...

  2. iOS标准库中常用数据结构和算法之二叉排序树

    上一篇:iOS标准库中常用数据结构和算法之排序 ?二叉排序树 功能:二叉排序树的标准实现是一颗平衡二叉树.二叉排序树主要用来解决高效插入和高效检索以及进行排序的问题.系统分别提供了二叉排序树节点的查找 ...

  3. 面试常考的常用数据结构与算法

    面试常考的常用数据结构与算法 数据结构与算法,这个部分的内容其实是十分的庞大,要想都覆盖到不太容易.在校学习阶段我们可能需要对每种结构,每种算法都学习,但是找工作笔试或者面试的时候,要在很短的时间内考 ...

  4. 常用数据结构和算法总结

    算法知识总结 本部分主要是笔者在学习算法知识和一些相关面试题所做的笔记,如果出现错误,希望大家指出! 目录 常用算法和数据结构总结 排序 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆 ...

  5. keilcjson内存分配失败_iOS标准库中常用数据结构和算法之内存池

    黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Linux编程点击右侧关注,免费入门到精通! 作者丨欧阳大哥2013https://www.jianshu.com ...

  6. 数据结构与算法 -- 时间复杂度

    数据结构与算法看完了,回过头来在看时间复杂度,对它们的效率做个比较吧. 一.时间复杂度介绍 1.时间复杂度定义 参看:数据结构-算法-时间复杂度计算 在进行算法分析,语句总得执行次数 T(n) 是关于 ...

  7. 【转】数据结构与算法(上)

    数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.算法是为求解一个问题需要遵循的.被清楚指定的简单指令的集合.下面是自己整理的常用数据结构与算法相关内容,如有错误 ...

  8. 深入理解数据结构和算法

    hi,大家好,我是阿荣,今天分享一些对数据结构和算法精华总结,希望对大家的面试或者工作有一定的帮助: 看完本文可以学到什么 知道哪些数据结构和算法在实际工作中最常用,最重要 理解一些设计上注意事项(经 ...

  9. python中文教程github_GitHub - Virile-Tao/python_data_structures_and_algorithms: Python 中文数据结构和算法教程...

    Python 算法与数据结构视频教程 课程简介 数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛.目前关于 Python 算法和数据结构的系统中文资料比较欠缺, 笔者尝试录制视频 ...

最新文章

  1. 欧盟如何运用AI之力推动社会创新
  2. MATLAB安装相机驱动
  3. mysql数据库主从同步配置教程--数据库同步
  4. 笑跪!博士写论文解释科学擀面,学霸们每天都在想些啥…
  5. 怎么修改腾讯视频账户和密码
  6. Makefile.am和makefile.in生成Makefile
  7. 关于mysql出现大量locked进程
  8. VS2008引用webservice的奇怪BUG解决方案
  9. 关于matlab的图像显示方法
  10. Python 读取加密后的xlsl
  11. 摩拜显示服务器忙,摩拜崩了?用户扫了5辆都失败 摩拜称APP出现短时故障
  12. gossiping路由协议仿真
  13. Unity中获取一个物体下所有的子物体的方法
  14. 关于机器指令和微指令
  15. 丢失的拜占庭将军问题之谜
  16. Tuxera NTFS for Mac2020注册机
  17. AE C# 图片标注背景透明
  18. .Net Core 源码解析
  19. UE4 RTS 框选功能实现
  20. 多代理强化学习MARL(MADDPG,Minimax-Q,Nash Q-Learning)

热门文章

  1. vb.net生成随机数,并且统计生成的个数
  2. 简单理解XHR、Ajax、Axios、Promise
  3. 最新Eclipse版本2020,最新版本JDK14的下载和使用(超详细)
  4. Linux-centos
  5. wince 访问共享文件_WINCE 访问PC共享文件夹
  6. 1491_福特8D分析案例学习
  7. 关于Epidata软件中 .QES文件出现‘乱码伴随编号前面多个n’问题的解决办法
  8. postgre info
  9. 我的专业我做主计算机演讲稿,我的未来我做主演讲稿
  10. php公众号模板消息群发,微信公众平台|模板消息群发功能