|
@@ -116,7 +116,7 @@ puts [sorted[(2*size - 1) / 2], sorted[(2*size) / 2]].join(" ")
|
|
|
|
|
|
```
|
|
|
|
|
|
-Vamos provar que é $O(lg n)$.
|
|
|
+Vamos provar que é $O(lg{} n)$.
|
|
|
|
|
|
$$T(1) = 1$$
|
|
|
$$T(n) = T(\lceil x/2 \rceil) + O(1)$$
|
|
@@ -126,13 +126,15 @@ Vamos supor que $x$ é potencia de 2, ou seja, $x = 2^i$
|
|
|
|
|
|
$$T(x) = T(2^i/2^i) + i$$
|
|
|
$$T(x) = T(1) + i$$
|
|
|
-$$T(x) = 1 + lg x$$
|
|
|
+$$T(x) = 1 + lg{} x$$
|
|
|
|
|
|
Vamos provar por indução:
|
|
|
|
|
|
-BASE $x = 1, T(1) = 1$ e $1 + lg 1 = 1$
|
|
|
+BASE: $x = 1, T(1) = 1$ e $1 + lg{}1 = 1$
|
|
|
|
|
|
-HIPÓTESE $T(2^(i-1)) = 1 + i - 1 = i$
|
|
|
+HIPÓTESE: $T(x/2) = 1 + lg{}x/2 = lg{}x$
|
|
|
|
|
|
-$$T(2^i) = T(2^(i-1)) + i = (pela HI) = 2i $$
|
|
|
+$$T(x) = T(x/2) + 1 = (pela HI) = lg{}x + 1 $$
|
|
|
+
|
|
|
+Que é o que queríamos provar.
|
|
|
|