主定理(支配理论)学习笔记

用于求解分治法得到的递归关系式。
形如:

\[T(n)=a×T(\frac{n}{b})+f(n) \]

其中\(a,b\)均为常数。


特殊形式:\(f(n)=O(n^d)\)
则:
\(d>\log_{b}{a}\)\(T(n)=O(n^d)\)
 \(d<\log_{b}{a}\)\(T(n)=O(n^{\log_{b}{a}})\)
 \(d=\log_{b}{a}\)\(T(n)=O(n^d·\log_{2}{n})\)

一般:\(f(n)\)为任意形式
则:
\(f(n)>n^{\log_{b}{a}}\)\(T(n)=f(n)\)
 \(f(n)<n^{\log_{b}{a}}\)\(T(n)=O(n^{\log_{b}{a}})\)
 \(f(n)=n^{\log_{b}{a}}\)\(T(n)=O(f(n)·\log_{2}{n})\)


例:
\(T(n)=3×T(\frac{n}{2})+n^2\)
 \(a=3\),\(b=2\),\(d=2\)\(T(n)=O(n^2)\)
\(T(n)=16×T(\frac{n}{4})+n\)\(T(n)=O(n^2)\)
\(T(n)=T(\frac{n}{2})+2^n\)
 \(f(n)=2^n,n^{\log_{b}{a}}=n^0=1\)
 考虑\(n\)很大,\(2^n>1\)\(T(n)=2^n\)


高深的内容,但于理论方面着实用处很大,受益匪浅。

posted @ 2022-01-25 22:50  realFish  阅读(127)  评论(0)    收藏  举报