博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ZZ】每个程序员都应该收藏的算法复杂度速查表
阅读量:5884 次
发布时间:2019-06-19

本文共 1827 字,大约阅读时间需要 6 分钟。

每个程序员都应该收藏的算法复杂度速查表-软件开发|Linux.中国-开源社区

https://linux.cn/article-7480-1.html

算法复杂性速查表

图例

绝佳 不错 一般 不佳 糟糕

数据结构操作

数据结构 时间复杂度 空间复杂度
  平均 最差 最差
  访问 搜索 插入 删除 访问 搜索 插入 删除  
O(1) O(n) O(n) O(n) O(1) O(n) O(n) O(n) O(n)
O(n) O(n) O(1) O(1) O(n) O(n) O(1) O(1) O(n)
O(n) O(n) O(1) O(1) O(n) O(n) O(1) O(1) O(n)
O(n) O(n) O(1) O(1) O(n) O(n) O(1) O(1) O(n)
O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O(n) O(n) O(n log(n))
- O(1) O(1) O(1) - O(n) O(n) O(n) O(n)
O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O(n) O(n) O(n)
- O(log(n)) O(log(n)) O(log(n)) - O(n) O(n) O(n) O(n)
O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n)
O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n)
- O(log(n)) O(log(n)) O(log(n)) - O(log(n)) O(log(n)) O(log(n)) O(n)
O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n)

数组排序算法

算法 时间复杂度 空间复杂度
  最佳 平均 最差 最差
O(n log(n)) O(n log(n)) O(n^2) O(log(n))
O(n log(n)) O(n log(n)) O(n log(n)) O(n)
O(n) O(n log(n)) O(n log(n)) O(n)
O(n log(n)) O(n log(n)) O(n log(n)) O(1)
O(n) O(n^2) O(n^2) O(1)
O(n) O(n^2) O(n^2) O(1)
O(n^2) O(n^2) O(n^2) O(1)
O(n) O((nlog(n))^2) O((nlog(n))^2) O(1)
O(n+k) O(n+k) O(n^2) O(n)
O(nk) O(nk) O(nk) O(n+k)

图操作

节点 / 边界管理 存储 增加顶点 增加边界 移除顶点 移除边界 查询
O(|V|+|E|) O(1) O(1) O(|V| + |E|) O(|E|) O(|V|)
O(|V|+|E|) O(1) O(1) O(|E|) O(|E|) O(|E|)
O(|V|^2) O(|V|^2) O(1) O(|V|^2) O(1) O(1)
O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|E|)

堆操作

 

类型 时间复杂度
  Heapify 查找最大值 分离最大值 提升键 插入 删除 合并
- O(1) O(1) O(n) O(n) O(1) O(m+n)
- O(n) O(n) O(1) O(1) O(1) O(1)
O(n) O(1) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(m+n)
- O(1) O(log(n)) O(log(n)) O(1) O(log(n)) O(log(n))
- O(1) O(log(n)) O(1) O(1) O(log(n)) O(1)

 

 

转载于:https://www.cnblogs.com/pegasus923/archive/2013/05/05/3060985.html

你可能感兴趣的文章
推荐系统那点事 —— 基于Spark MLlib的特征选择
查看>>
linux 下RTL8723/RTL8188调试记录(命令行)【转】
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>
Zeppelin的入门使用系列之使用Zeppelin运行shell命令(二)
查看>>
form表单下的button按钮会自动提交表单的问题
查看>>
那些年追过的......写过的技术博客
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
CSS魔法堂:Transition就这么好玩
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
python mysql Connect Pool mysql连接池 (201
查看>>
Boost在vs2010下的配置
查看>>
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
查看>>
20款绝佳的HTML5应用程序示例
查看>>
string::c_str()、string::c_data()及string与char *的正确转换
查看>>
11G数据的hive初测试
查看>>
如何使用Core Text计算一段文本绘制在屏幕上之后的高度
查看>>
==和equals区别
查看>>