Edit this page Backlinks This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. +=== 1. === * $ T_a(n) = 2T_a(n-1) + 1$ ** nu se poate aplica master ** {{ :aa:lab:sol:10:3_1.jpg?600 |}} * $ T_b(n) = T_b(n-1) + 1$ ** 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) $. * $ T_c(n) = 2T_c(n/2) + \log(n)$ ** Metoda substitutiei TODO** \\ Vrem sa demonstram ca $ T_c(n) = \Theta(n), \ presupunem \ T_c(1) = 1$ \\ $ <=> \exists k_1, k_2 > 0 $ a.i. $ k_1 n \le T_c(n) \le k_2 n$\\ Caz de baza: n = 2 \\ $ c_1 * 2 \le T_c(2) \le c_2 * 2 $\\ $ c_1 * 2 \le 2 * T_c(1) + \log 2 \le c_2 * 2 $\\ $ c_1 * 2 \le 3 \le c_2 * 2 $\\ (A) pentru $ c_1 = 1 $ si $ c_2 = 2 $\\ Pasul inductiv: \\ Presupunem $ T_c(\frac n 2) = \Theta(\frac n 2) $ \\ $ \exists c_1, c_2 > 0 $ a.i. \\ $ c_1 \frac n 2 \le T_c(\frac n 2) \le c_2 \frac n 2 \ \ \ \ | *2 $\\ $ c_1 * n \le 2 * T_c(\frac n 2) \le c_2 * n \ \ \ \ | + \log n $\\ $ c_1 * n + \log n \le T_c(n)\le c_2 * n + \log n $\\ $ pentru\ k_1 = c_1 => k1n \le c_1n + \log n $\\ $ pentru\ k_2 = c_2 + 1 => c_2n + \log n \le k2 * n $\\ $ \qquad \qquad \qquad \qquad \: <=> c_2n + \log n \le (c_2 + 1) * n $\\ $ => k_1 * n \le c_1 * n + \log n \le T_c(n)\le c_2 * n + \log n \le k_2 * n $\\ $ T_c(n) \in \Theta(n) $\\ ** Teorema Master ** \\ $ a = 2, \ b = 2 => d = 1 $ \\ $ f(n) = \log n => \ f(n) = O(\sqrt n) => c = \frac{1}{2} \ (c < d) $\\ $ => T_c(n) \in \Theta(n) $\\ * $ T_d(n) = T_d(n/9) + T_d(8n/9) + n$ ** nu se poate aplica master ** {{ :aa:lab:sol:10:3_4.jpg?600 |}} 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)$ * $ T_e(n) = T_e(2n/3) + 1$ 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) $ * $ T_{Strassen}(n) = 7T_{Strassen}(n/2) + n^2 $ $ c = \log_27 \approx 2.81 $ => cazul 1 al teoremei master, deci $ T_{Strassen}(n) = \Theta(n ^ {\log_27}) \approx \Theta(n ^ {2.81}) $ * $ T_{Karatsuba}(n) = 3T_{Karatsuba}(n/2) + 1 $ $ c = \log_23 \approx 1.58 $ => cazul 1 al teoremei master, deci $ T_{Karatsuba}(n) = \Theta(n ^ {\log_23}) \approx \Theta(n ^ {1.58}) $ * $ T_{Quicksort}(n) = T_{Quicksort}(n-1) + O(n) $ ** 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) $ \\ * $ T(n) = T(n/4) + T(3n/4) + 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_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)$ === 2. === * $ T_a(n) = T_a(\sqrt{n}) + 1 $ 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) $ \\ $ => 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) $ \\ * $ T_b(n) = 2 * T_b(\sqrt{n}) + \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) $ \\ $ => 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) $ \\ * $ T_c(n) = \sqrt{n} * T_c(\sqrt{n}) + 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) $ \\ $ => S(k) = \sqrt{2^k} * S(k/2) + 2^k $ \\ $ fie \ S(k) = 2^k * P(k) $ \\ $ => \ 2^k * P(k) = \sqrt{2^k} * \sqrt{2^k} * P(k/2) + 2^k $ \\ $ => \ 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) $ \\