初赛—算法复杂度

对于 \(T(n) = a\times T(\frac{n}{b})+c\times n^k\) 这样的递归关系,有这样的结论:

  • \(a>b^k\) 则有 : \(T(n) = O(c\times n^{\log_{b} a})\)
  • \(a=b^k\) 则有 : \(T(n) = O(c\times n^k\times log n)\)
  • \(a<b^k\) 则有 : \(T(n) = O(n^k)\)

例如:

\[T(n)=25\times T\left(\dfrac{n}{5}\right)+n^2 \]

\[a=25,b = 5,k=2\Rightarrow a=b^k \]

\[T(n)=O(n^k\times \log n)=O(n^2\times \log n) \]

\(a,b,c\) 中出现根号怎么办?换元!!

例如:

\[T(n)=4\sqrt{n}\times T(\sqrt{n})+n \]

\[\text{令} n=2^m \]

\[T(2^m)=4\times 2^{\frac{m}{2}}\times T(2^{\frac{m}{2}})+2^m \]

\[\dfrac{T(2^m)}{2^m}=4\times \dfrac{T(2^{\frac{m}{2}})}{2^{\frac{m}{2}}}+1 \]

\[\text{令} g(m)=\dfrac{T(2^m)}{2^m} \]

\[g(m)=4\times g\left(\dfrac{m}{2}\right)+1 \]

\[g(m)=m^2 \]

\[T(2^m)=2^mm^2 \]

\[T(n)=n\log^2 n \]

posted @ 2021-09-09 11:46  EricQian06  阅读(35)  评论(0编辑  收藏  举报