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

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

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


前 言

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

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

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

http://bigocheatsheet.com/


图 例

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


抽象数据结构复杂度

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


排序算法

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


图操作

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


堆操作

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


大O复杂度曲线

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