递归算法时间复杂度计算公式

215 阅读1分钟

递归均匀分布情况下时间复杂度计算公式

T(N)=aT(Nb)+O(Nd)T(N)=aT(\frac{N}{b})+O(N^d) 其中a为单次递归调用的几次,Nb\frac{N}{b} 为每次调用划分的数量,O(Nd)O(N^d)则是去掉递归算法后其他代码逻辑的时间复杂度。

时间复杂度计算条件

  1. logba>d\log_b a>d 时间复杂度为O(Nlogba) O(N^{\log_b a})
  2. logba<d\log_b a<d 时间复杂度为O(Nd) O(N^d)
  3. logba=d\log_b a=d 时间复杂度为O(NdlogN) O(N^d*{log_ N})