Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
aa:lab:sol:7 [2025/11/16 17:12]
aureliu.antonie ex 2 2
aa:lab:sol:7 [2025/11/16 23:00] (current)
aureliu.antonie edit substitie 2
Line 1: Line 1:
-=== 1. ===++=== 1. ===
   * $ T_a(n) = 2T_a(n-1) + 1$   * $ T_a(n) = 2T_a(n-1) + 1$
  
Line 13: Line 13:
  
   * $ T_c(n) = 2T_c(n/2) + \log(n)$   * $ T_c(n) = 2T_c(n/2) + \log(n)$
-** Metoda substitutiei ​TODO** \\+** Metoda substitutiei** \\
 Vrem sa demonstram ca $ T_c(n) = \Theta(n), \ presupunem \ T_c(1) = 1$ \\ Vrem sa demonstram ca $ T_c(n) = \Theta(n), \ presupunem \ T_c(1) = 1$ \\
-$ <=> \exists ​k_1k_2 > 0 $ a.i. $ k_1 n  \le T_c(n) \le k_2 n$\\ +$ <=> \exists ​c_1c_2 > 0 $ a.i. $ c_1 n  \le T_c(n) \le c_2 n$\\ 
-Caz de baza: 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)$\\ 
-$ c_1 *  \le T_c(2\le c_2 * 2 $\\ +(2) Caz de baza: n = 16 \\ 
-$ c_1 *  ​\le ​2 * T_c(1) + \log 2 \le c_2 * 2 $\\ +$ c_1 * 16  \le T_c(16)$\\ 
-$ c_1 * 2  ​\le \le c_2 * 2 $\\ +$ c_1 * 16  ​\le ​42 $ \\ 
-(Apentru $ c_1 = 1 $ si $ c_2 = 2 $\\ +=> c_1 \le \frac{21}{8} ​$\\ 
-Pasul inductiv\\ +(2) \ Pas \ inductiv ​$\\ 
-Presupunem ​T_c(\frac n 2) = \Theta(\frac n 2) $ \\ +Presupunem ​\ ca \ T_c(n/2) = \Omega(n/2) $\\ 
-$ \exists c_1, c_2 > 0 a.i. \+<=> \ \exists c_1 > 0 a.i. \ c_1 \frac{n}{2\le T_c(n/2) $\\ 
-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(n/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) ​$\\ 
-$ c_1 * n + \log n \le T_c(n)\le c_2 * \log n $\\ +<=> c_1 * n \le c_1 * n + \log n\le T_c(n) ​$\
-pentruk_1 = c_1 => k1n \le c_1n + \log n $\\ +$ => \ T_c(n) = \Omega(n$\\ 
-pentruk_2 = c_2 + 1 => c_2n + \log \le k2 $\\ +(1) Pentru ​usurinta, \ vom \ demonstra \ restrictia \ T_c(n) ​\le c_2 n - 2 \log n $\\ 
-$ \qquad \qquad \qquad \qquad \: <=> c_2n + \log n \le (c_2 + 1) * n $\\ +(1) Caz de baza: n = 16 \\ 
-$ => 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(16) ​\le c_2 * 16 - 2 * \log 16 $\\ 
 +$ 42 \le c_2 16 - 8 $ \\ 
 +=> 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} ​$\\ 
 +<=> T_c(n/2) \le c_2 * n - 4 * \log \frac{n}{2} $\
 +$ <​=> ​T_c(n) \le c_2 * n - 3 * \log n + 4$\\ 
 +$ <=> T_c(n) \le c_2 * n - 3 * \log n + 4 \le c_2 * n - 2 * \log n, \forall n \ge 16 $\\ 
 +$ => \ T_c(n) = O(n) $\\
 $ T_c(n) \in \Theta(n) $\\ $ T_c(n) \in \Theta(n) $\\
 ** Teorema Master ​ ** \\ ** Teorema Master ​ ** \\
Line 62: Line 70:
  
 ** nu se poate aplica master **\\ ** 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) $+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 $
  
-*TODO subpunct*+$ 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. === === 2. ===
     * $ T_a(n) = T_a(\sqrt{n}) + 1 $     * $ T_a(n) = T_a(\sqrt{n}) + 1 $
Line 89: Line 105:
 => $ T_b(2^k) = \Theta(k \log k) $ \\ => $ T_b(2^k) = \Theta(k \log k) $ \\
 => $ T_b(n) = \Theta(\log n * \log \log n) $ \\ => $ 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) $ \\