$$ f(x)=O(g(x)) \iff \exists a, c:\; f(x)\le c\cdot g(x)\quad (x \ge a) \\\ \\

f(x)=\Omega(g(x)) \iff \exists a, c:\; f(x) \ge c\cdot g(x)\quad (x\ge a) \\\ \\

f(x)=\Theta(g(x)) \iff \exists a, c_1, c_2:\; c_1\cdot g(x) \le f(x)\le c_2\cdot g(x)\quad (x\ge a)

$$

image.png

이해를 돕기 위한 메모) 1. 에서 첫 항의 경우 재귀 트리의 리프 층이 지배적. 노드 개수가 $a^{\log n}=n^{\log a}$ 아래 설명은 엄밀하지 않고 암기용으로 간소화시킨 것이다.

$T(n)=aT(n/b)+f(n)$

  1. 부분문제가 전체를 지배하는 경우. $f(n) < O(n^{\log_b a}) \Rarr T(n)=\Theta(n^{\log_b a})$
  2. 부분문제와 병합과정이 동등할 경우. $f(n) = \Theta(n^{\log_b{a}} \log^k n) \Rarr T(n)=f(n) = \Theta(n^{\log_b{a}} \log^{k+1} n)$
  3. 병합과정이 전체를 지배하는 경우. $f(n) > O(n^{\log_b a})\Rarr T(n)=\Theta(f(n))$

$$ T(n)=aT(n-b)+O(n^c)\\ \Longrightarrow\ T(n)=\begin{cases} O(n^c) & a<1\\O(n^{c+1}) & a=1 \\ O(n^c\cdot a^{n/b}) & a>1 \end{cases} $$