Master定理

Baileys2022年7月31日
  • 数据结构与算法
大约 1 分钟...

Master定理

在演算法分析中,主定理(英语:master theorem)提供了用渐近符号(大O符号)表示许多由分治法得到的递推关系式的方法。

定理内容

假设有递归关系式T(n)=aT(nb)+f(n)T(n)=aT(\frac{n}{b})+f(n),其中a1,b>1a{\geq}1,b>1,其中nn为问题规模,aa为递归的子问题数量,nb\frac{n}{b}为每个子问题的规模(假设每个子问题的规模基本一样),f(n)f(n)为递归以外进行的计算工作。

  • 如果存在常数ϵ>0\epsilon>0,有f(n)=O(nlogbaϵ)f(n)=O(n^{\log_b^a-\epsilon}),则T(n)=Θ(nlogba)T(n)=\Theta(n^{\log_b^a}).
  • 如果存在常数ϵ0\epsilon{\geq}0,有f(n)=O(nlogbalogϵn)f(n)=O(n^{\log_b^a}\log^{\epsilon}n),则T(n)=Θ(nlogbalogϵ+1n)T(n)=\Theta(n^{\log_b^a}\log^{\epsilon+1}n).
  • 如果存在常数ϵ>0\epsilon>0,有f(n)=O(nlogba+ϵ)f(n)=O(n^{\log_b^a+\epsilon}),同时存在常数c<1c<1以及充分大的nn,满足af(nb)cf(n)af(\frac{n}{b}){\leq}cf(n),则T(n)=Θ(f(n))T(n)=\Theta(f(n)).

to be continued

计算斐波纳契数,分析算法复杂度.

参考文献

评论
Powered by Waline v2.6.1