Browse Source

Update 'lista5.md'

capella 7 years ago
parent
commit
17d076f5be
1 changed files with 26 additions and 1 deletions
  1. 26 1
      lista5.md

+ 26 - 1
lista5.md

@@ -39,7 +39,32 @@ $$h \geq lg \space (n!) - n$$
 $$h \geq lg \space (n!) - n \geq  n \cdot lg \space (n) - n = \Omega(n \cdot lg \space (n))$$
 
 
-###### 3. (CLRS 8.4-1) Simule a execução do BUCKETSORT com o vetor $A[1 . . 10] = \<0.79, 0.13, 0.16, 0.64, 0.39, 0.20, 0.89, 0.53, 0.71, 0.42i\>$.
+###### 3. (CLRS 8.4-1) Simule a execução do BUCKETSORT com o vetor $A[1..10] = \<0.79, 0.13, 0.16, 0.64, 0.39, 0.20, 0.89, 0.53, 0.71, 0.42\>$.
 
+```
+B[1..10] = [[], [], [], [], [], [], [], [], [], []]
+
+Para cada elemento de A vamos fazer \$\lceil\$ nA \$\rceil\$, vamos, na simulação guardar um A'
+A'[1..0] = [7.9, 1.3, 1.6, 6.4, 3.9, 2.0, 8.9, 5.3, 7.1, 4.2]
+A'[1..0] = [8.0, 2.0, 2.0, 7.0, 4.0, 2.0, 9.0, 6.0, 8.0, 5.0]
+
+Inserimos A[i] em B[A'[i]]
+
+B[1..10] = [[], [0.13, 0.16, 0.20], [], [0.39], [0.42], [0.53], [0.64], [0.79, 0.71], [0.89], []]
+
+Ordenamos cada lista de B.
+
+B[1..10] = [[], [0.13, 0.16, 0.20], [], [0.39], [0.42], [0.53], [0.64], [0.71, 0.79], [0.89], []]
+
+Concatenamos as listas
+
+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)$.
+
+$$E[T(n)] = E[\Theta (n) + \sum\_{i = 1}^{n} O(n lg \space n)]$$