|
@@ -151,7 +151,20 @@ Kesimo(A, p, r, k)
|
|
|
retorna A[part]
|
|
|
```
|
|
|
|
|
|
-Note, o particiona é $O(n)$, assim como a mediana. Portanto o tempo de consumo desse algorítmo será $T(n) = T(n/2) + O(n)$. Vamos provar que é $O(n)$. Note que $T(1) = 1$
|
|
|
+Note, o particiona é $O(n)$, assim como a mediana. Portanto o tempo de consumo desse algorítmo será $T(n) = T(n/2) + O(n) = T(n/2) + an $. Vamos provar que é $O(n)$. Note que $T(1) = 1$
|
|
|
|
|
|
BASE: $T(1) = 1 \leq c * 1 $
|
|
|
|
|
|
+HIPÓTESE: $T(n/2) \leq cn/2 x$
|
|
|
+
|
|
|
+$$ T(n) = T(n/2) + O(n) \leq c * n/2 + a * n \leq (c/2+a) n = c * n - n * c/2 + a * n$$
|
|
|
+
|
|
|
+Só falta peovar que:
|
|
|
+
|
|
|
+$$ - nc/2 + a * n \leq 0 $$
|
|
|
+$$ a * n \leq n * c/2 $$
|
|
|
+$$ 2 * a \leq c $$
|
|
|
+
|
|
|
+Como $a$ é uma contante que depende do particiona e da mediana e existe, logo existe $c$.
|
|
|
+
|
|
|
+###### 6. (CLRS 8.3-2) Quais dos seguintes algoritmos de ordenação são estáveis: insertionsort, mergesort, heapsort, e quicksort. Descreva uma maneira simples de deixar qualquer algoritmo de ordenação estáavel. Quanto tempo e/ou espaçco adicional a sua estratégia usa?
|