|
@@ -63,8 +63,12 @@ B[1..10] = [0.13, 0.16, 0.20, 0.39, 0.42, 0.53, 0.64, 0.71, 0.79, 0.89]
|
|
|
```
|
|
|
###### 4. (CLRS 8.4-2) Qual é o consumo de tempo de pior caso para o BUCKETSORT? Que simples ajuste do algoritmo melhora o seu pior caso para O(n lg n) e mantém o seu consumo esperado de tempo linear.
|
|
|
|
|
|
-O pior caso no BUCKETSORT é quando todos os elementos da lista cairem na mesma sub-lista do vetor B. Nesse caso o nosso algorítimo vai levar tempo proporcional ao método de ordenação que utilizamos para ordenar essas sub-listas. No livro, ele escolhe o InsertionSort que posui pior caso $nˆ2$, se trocarmos por qualquer algorítmo de tempo máximo $O(n lg \space n)$, teremos o pior caso como $O(n lg \space n)$.
|
|
|
+O pior caso no BUCKETSORT é quando todos os elementos da lista cairem na mesma sub-lista do vetor B. Nesse caso o nosso algorítimo vai levar tempo proporcional ao método de ordenação que utilizamos para ordenar essas sub-listas. No livro, ele escolhe o InsertionSort que posui pior caso $nˆ2$, se trocarmos por qualquer algorítmo de tempo máximo $O(n lg \space n)$, teremos o pior caso como $O(n lg \space n)$. Vamos averiguar se preserva o caso médio, $n\_i$ será o número de elementos médio no sub vetor
|
|
|
+
|
|
|
+$$E[T(n)] = E[\Theta (n) + \sum\_{i = 1}^{n} O(n\_i lg \space n\_i)]$$
|
|
|
+$$E[T(n)] = \Theta (n) + \sum\_{i = 1}^{n} O(E[n\_i lg \space n\_i]) = \Theta (n) + O(n lg \space n)$$
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-$$E[T(n)] = E[\Theta (n) + \sum\_{i = 1}^{n} O(n lg \space n)]$$
|
|
|
|
|
|
|