vlambda博客
学习文章列表

常用算法复杂度速查表,蹲坑的功夫都能背


整理:始终/ liam.page/2016/06/20/big-O-cheat-sheet

前 言

复杂度通常会使用大 -O记号来表示,比如快速排序的平均时间复杂度是 O(nlog(n))。虽然我们应该做「理解派」,但是即使每个算法/数据结构都理解了,不时仍有可能忘记具体某个算法/数据结构的复杂度(特别是在最好、最坏和平均情形下的复杂度)。

因此制作一个 「速查表」 来集中总结是非常有必要的!这样考前、面试前,即使蹲坑的功夫都能背上个几遍,这样记得就更牢固了。

动手前先看看是否已经有轮子是一个好习惯,果不其然,找到了原作。

http://bigocheatsheet.com/


图 例

常用算法复杂度速查表,蹲坑的功夫都能背

抽象数据结构复杂度

常用算法复杂度速查表,蹲坑的功夫都能背

排序算法

常用算法复杂度速查表,蹲坑的功夫都能背

图操作

常用算法复杂度速查表,蹲坑的功夫都能背

堆操作


大O复杂度曲线

每天进步一点点

慢一点才能更快