Skip to content
基础

一句话答案

常见复杂度排序:O(1) < O(logn) < O(n) < O(nlogn) < O(n²) < O(2ⁿ),分析看循环层数和递归规模。

核心要点
复杂度典型算法
O(1)哈希查找
O(logn)二分查找
O(n)遍历
O(nlogn)快排/归并
O(n²)冒泡/嵌套循环
追问与易错

追问方向:

  • 递归的时间复杂度怎么分析?
  • 均摊复杂度是什么?
  • 空间复杂度怎么计算?

易错点:

  • ❌ O(logn) 和 O(n) 差距不大——量大时差距巨大
  • ❌ 递归空间复杂度是 O(1)——递归栈也占空间

💡 记忆锚点

复杂度速记"1对数线性线对数平方指数":O(1)秒出→O(logn)折半找→O(n)扫一遍→O(nlogn)排序级→O(n2)双重循环→O(2^n)穷举爆炸。n=10^6时,O(n)一秒跑完,O(n2)要跑一天,O(2^n)宇宙毁灭都跑不完。递归复杂度看递归树:每层工作量乘层数,或用主定理T(n)=aT(n/b)+O(n^d)。