Browse Source

Update 'lista4.md'

capella 7 years ago
parent
commit
c4db9aaefd
1 changed files with 60 additions and 1 deletions
  1. 60 1
      lista4.md

+ 60 - 1
lista4.md

@@ -181,8 +181,67 @@ Ordena o vetor e depois faz elemento % p.
 
 ###### 6. Qual a diferença de consumo de tempo entre uma busca binária em um vetor com n elementos e uma busca binária em um vetor com $n^2$ elementos?
 
-A busca binária consome tempo $O(lg \space n)$. Ou seja, $T(n) \leq c * lg \space n$. Queremos descobrir a proporção $\frac{c * lg \space n^2}{c * lg \space n} = lg ()$
+A busca binária consome tempo $O(lg \space n)$. Ou seja, $T(n) \leq c * lg \space n$. Queremos descobrir a proporção $\frac{c * lg \space n^2}{c * lg \space n} = 2 * \frac{c * lg \space n^2}{c * lg \space n} = 2$, ou seja vai levar o dobro do tempo.
 
+###### 7. Desenhe a árvore de decisão do algoritmo de ordenação por seleção aplicado a um vetor A com 3 elementos distintos.
+
+Temos tres elementos a, b, c. Nessa árvore em primiro está a comparação e segundo o momento que o nó é explorado no algorítmo (direita sim, esquerda não). Acho que é isso...
+
+```
+                    A < B
+                   /     \
+                  /       \
+             B < C         A < C
+            /     \       /     \
+         A<B<C     \   B<A<C     \
+                  A<C            B<C
+                 /   \          /   \
+             A<C<B   C<A<B  B<C<A   C<B<A
+```
+
+###### 8. Considere a árvore de decisão que descreve um algoritmo de ordenação baseado em comparações. Qual a menor profundidade que uma folha pode ter nessa árvore? Justifique detalhadamente.
+
+Vejamos pela figura da imagem acima. A menor profundidade que algo pode ter é qunado o vetor já está ordenado, ou seja todas as comparações retornam verdade e não é preciso se aprofundar. Então, a menor profundidade dessa árvore será $n$.
+
+###### 9. Simule a execução do CountingSort usando como entrada o vetor A[1..11] = (7, 1, 3, 1, 2, 4, 5, 7, 2, 4, 3).
+
+C[1..7] será o nosso vetor auxiliar e B[1..11] também.
+
+```
+B[1..11] = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
+C[1..7] = (0, 0, 0, 0, 0, 0, 0)
+
+C[1..7] = (0, 0, 0, 0, 0, 0, 1)
+C[1..7] = (1, 0, 0, 0, 0, 0, 1)
+C[1..7] = (1, 0, 1, 0, 0, 0, 1)
+C[1..7] = (2, 0, 1, 0, 0, 0, 1)
+C[1..7] = (2, 1, 1, 0, 0, 0, 1)
+C[1..7] = (2, 1, 1, 1, 0, 0, 1)
+C[1..7] = (2, 1, 1, 1, 1, 0, 1)
+C[1..7] = (2, 1, 1, 1, 1, 0, 2)
+C[1..7] = (2, 2, 1, 1, 1, 0, 2)
+C[1..7] = (2, 2, 1, 2, 1, 0, 2)
+C[1..7] = (2, 2, 2, 2, 1, 0, 2)
+
+C[1..7] = (2, 4, 2, 2, 1, 0, 2)
+C[1..7] = (2, 4, 6, 2, 1, 0, 2)
+C[1..7] = (2, 4, 6, 8, 1, 0, 2)
+C[1..7] = (2, 4, 6, 8, 9, 0, 2)
+C[1..7] = (2, 4, 6, 8, 9, 9, 2)
+C[1..7] = (2, 4, 6, 8, 9, 9, 11)
+
+B[1..11] = (0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0); C[1..7] = (2, 4, 5, 8, 9, 9, 11); i = 11
+B[1..11] = (0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0); C[1..7] = (2, 4, 5, 7, 9, 9, 11); i = 10
+B[1..11] = (0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0); C[1..7] = (2, 3, 5, 7, 9, 9, 11); i = 9
+B[1..11] = (0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 7); C[1..7] = (2, 3, 5, 7, 9, 9, 10); i = 8
+B[1..11] = (0, 0, 0, 2, 0, 3, 0, 4, 5, 0, 7); C[1..7] = (2, 3, 5, 7, 8, 9, 10); i = 7
+B[1..11] = (0, 0, 0, 2, 0, 3, 4, 4, 5, 0, 7); C[1..7] = (2, 3, 5, 6, 8, 9, 10); i = 6
+B[1..11] = (0, 0, 2, 2, 0, 3, 4, 4, 5, 0, 7); C[1..7] = (2, 2, 5, 6, 8, 9, 10); i = 5
+B[1..11] = (0, 1, 2, 2, 0, 3, 4, 4, 5, 0, 7); C[1..7] = (1, 2, 5, 6, 8, 9, 10); i = 4
+B[1..11] = (0, 1, 2, 2, 3, 3, 4, 4, 5, 0, 7); C[1..7] = (1, 2, 4, 6, 8, 9, 10); i = 3
+B[1..11] = (1, 1, 2, 2, 3, 3, 4, 4, 5, 0, 7); C[1..7] = (0, 2, 4, 6, 8, 9, 10); i = 2
+B[1..11] = (1, 1, 2, 2, 3, 3, 4, 4, 5, 7, 7); C[1..7] = (0, 2, 4, 6, 8, 9, 9);  i = 1
+```