+
nu se poate aplica master
Prin metoda arborelui obtinem n niveluri continand cate o constanta si un nod, deci $ T_b(n) = n * \Theta(1) = \Theta(n) $.
Metoda substitutiei
Vrem sa demonstram ca $ T_c(n) = \Theta(n), \ presupunem \ T_c(1) = 1$
$ \Leftrightarrow \exists c_1, c_2 > 0 $ a.i. $ c_1 n \le T_c(n) \le c_2 n$
$ Ca \ sa \ demonstram \ ca \ T_c(n) = \Theta(n), \ vom \ demonstra \ ca \ T_c(n) = O(n) \ (1) \ si \ T_c(n) = \Omega(n) \ (2)$
(2) Caz de baza: n = 16
$ c_1 * 16 \le T_c(16)$
$ c_1 * 16 \le 42 $
$ \Rightarrow c_1 \le \frac{21}{8} $
$ (2) \ Pas \ inductiv $
$ Presupunem \ ca \ T_c(n/2) = \Omega(n/2) $
$ \Leftrightarrow \ \exists c_1 > 0 \ a.i. \ c_1 * \frac{n}{2} \le T_c(n/2) $
$ \Leftrightarrow c_1 * n \le 2 * T_c(n/2) $
$ \Leftrightarrow c_1 * n + \log n\le T_c(n) $
$ \Leftrightarrow c_1 * n \le c_1 * n + \log n\le T_c(n) $
$ \Rightarrow \ T_c(n) = \Omega(n) $
$ (1) Pentru \ usurinta, \ vom \ demonstra \ restrictia \ T_c(n) \le c_2 n - 2 \log n $
(1) Caz de baza: n = 16
$ T_c(16) \le c_2 * 16 - 2 * \log 16 $
$ 42 \le c_2 * 16 - 8 $
$ \Rightarrow c_2 \ge \frac{25}{8} $
$ (1) \ Pas \ inductiv $
$ Presupunem \ ca \ T_c(n/2) \le c_2 * \frac{n}{2} - 2 * \log \frac{n}{2} $
$ \Leftrightarrow 2 * T_c(n/2) \le c_2 * n - 4 * \log \frac{n}{2} $
$ \Leftrightarrow T_c(n) \le c_2 * n - 3 * \log n + 4$
$ \Leftrightarrow T_c(n) \le c_2 * n - 3 * \log n + 4 \le c_2 * n - 2 * \log n, \forall n \ge 16 $
$ \Rightarrow \ T_c(n) = O(n) $
$ T_c(n) \in \Theta(n) $
Teorema Master
$ a = 2, \ b = 2 \Rightarrow d = 1 $
$ f(n) = \log n \Rightarrow \ f(n) = O(\sqrt n) \Rightarrow c = \frac{1}{2} \ (c < d) $
$ \Rightarrow T_c(n) \in \Theta(n) $
nu se poate aplica master
Desenand arborele, obtinem unele ramuri care se termina mai repede, altele mai incet, asa ca vom incadra timpul lui T intre 2 limite, $ S_1 $ si $ S_2 $
$ h_1 = \log_9n, h_2 = \log_{\frac 9 8}n $
$ S_1 = \sum_0^{h_1-1} n + T(1) * 2 ^ {h_1} = n * h_1 +2 ^ {h_1} = n*\log_9n + 2^{\log_9n} \in \Theta(n\log n) $
$ S_2 = \sum_0^{h_2-1} n + T(1) * 1 = n * h_2 + 1 = n*\log_{\frac 9 8} n + 1 \in \Theta(n\log n) $
⇒ $ T(n) \in \Theta(n \log n)$
Cazul 2 al Teoremei Master cu $ c = \log_{frac 3 2}1 = 0, k = 0 $ deci $ T_e(n) = \Theta(n^0 * \log^{0+1}n) \Theta(\log n) $
$ c = \log_27 \approx 2.81 $ ⇒ cazul 1 al teoremei master, deci $ T_{Strassen}(n) = \Theta(n ^ {\log_27}) \approx \Theta(n ^ {2.81}) $
$ c = \log_23 \approx 1.58 $ ⇒ cazul 1 al teoremei master, deci $ T_{Karatsuba}(n) = \Theta(n ^ {\log_23}) \approx \Theta(n ^ {1.58}) $
nu se poate aplica master
Folosind metoda arborelui, fiecare nivel $ h $ va contine nodul $ T(n-h) $ si costul $ n-h $. Obtinem formula $ T_{Quicksort}(n) = \sum_{i=0}^{n-2} (n-i) + 1 * T(1) = \frac {n(n+1)} 2 \in \Theta(n^2) $
nu se poate aplica master
Desenand arborele, obtinem unele ramuri care se termina mai repede, altele mai incet, asa ca vom incadra timpul lui T intre 2 limite, $ S_1 $ si $ S_2 $
$ h_1 = \log_4n, h_2 = \log_{\frac 4 3}n $
$ S_1 = \sum_0^{h_1-1} n + T(1) * 2 ^ {h_1} = n * h_1 +2 ^ {h_1} = n*\log_4n + 2^{\log_4n} \in \Theta(n\log n) $
$ S_2 = \sum_0^{h_2-1} n + T(1) * 1 = n * h_2 + 1 = n*\log_{\frac 4 3} n + 1 \in \Theta(n\log n) $
⇒ $ T(n) \in \Theta(n \log n)$
Notam \( n = 2^k \)
⇒ $ T_a(2^k) = T_a(\sqrt{2^k}) + 1$
⇒ $ T_a(2^k) = T_a(2^ \frac{k}{2}) + 1$
$ fie \ S(k) = T_a(2^k) $
$ \Rightarrow S(k) = S(k/2) + 1 $
Teorema Master
a = 1, b = 2 ⇒ d = 0
c = d = 0 (k = 0) ⇒ $ S(k) = \Theta(\log k) $
⇒ $ T_a(2^k) = \Theta(\log k) $
⇒ $ T_a(n) = \Theta(\log \log n) $
Notam \( n = 2^k \)
⇒ $ T_b(2^k) = 2 * T_b(\sqrt{2^k}) + k$
⇒ $ T_b(2^k) = 2 * T_b(2^ \frac{k}{2}) + k $
$ fie \ S(k) = T_b(2^k) $
$ \Rightarrow S(k) = 2 * S(k/2) + k $
Teorema Master
a = 2, b = 2 ⇒ d = 1
c = d = 1 (k = 0) ⇒ $ S(k) = \Theta(k \log k) $
⇒ $ T_b(2^k) = \Theta(k \log k) $
⇒ $ T_b(n) = \Theta(\log n * \log \log n) $
Notam \( n = 2^k \)
⇒ $ T_c(2^k) = \sqrt{2^k} * T_c(\sqrt{2^k}) + 2^k$
⇒ $ T_c (2^k) = \sqrt{2^k} * T_c(2^ \frac{k}{2}) + 2^k $
$ fie \ S(k) = T_c(2^k) $
$ \Rightarrow S(k) = \sqrt{2^k} * S(k/2) + 2^k $
$ fie \ S(k) = 2^k * P(k) $
$ \Rightarrow \ 2^k * P(k) = \sqrt{2^k} * \sqrt{2^k} * P(k/2) + 2^k $
$ \Rightarrow \ P(k) = P(k/2) + 1 $
Teorema Master
a = 1, b = 2 ⇒ d = 0
c = d = 0 (k = 0) ⇒ $ P(k) = \Theta(\log k) $
⇒ $ S(k) = \Theta(2^k \log k) $
⇒ $ T_c(2^k) = \Theta(2^k \log k) $
⇒ $ T_c(n) = \Theta(n * \log \log n) $