UNIVERSIDADE FEDERAL DE MINAS GERAIS
INSTITUTO DE CIÊNCIAS EXATAS
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
ALGORITMOS E ESTRUTURAS DE DADOS II
Prof. Raquel O. Prates 26
de junho de 2006
1.
Exercícios do Livro Capítulo 4: 1, 2, 3,
4, 11, 12
2.
Exercícios do Livro Capítulo 5: 1, 3, 4, 6, 10, 11, 12, 13, 18, 19
3.
1.
a.
Uma descrição sucinta, em português,
do funcionamento do algoritmo.
b.
Discuta a ordem de complexidade dos algoritmos (melhor caso e pior
caso).
c.
Explique se o algoritmo é estável ou não
e por quê.
d.
Os pontos fortes e fracos do algoritmo.
e.
Situações onde o algoritmo
é indicado.
4.
Mostre
5.
Considere a execução do algoritmo Quicksort visto em sala
(pivô escolhido no meio do vetor) com o vetor [ 2 10 1 8 20 5 14 13 9 ]. Quantas chamadas do procedimento Partição serão feitas para ordenar
esse vetor? Qual o pivô utilizado
em cada uma das
chamadas? Quais são as partições (sub-vetores) resultantes de cada uma dessas chamadas?
6.
Que diferença se pode notar na eficiência do algoritmo para este caso, se você
considerer as melhorias para
o Quicksort: pivô
7.
Altere o código do Quicksort para implementar estas melhorias.
8.
a.
Forneça uma descrição sucinta,
em português, do funcionamento do algoritmo.
b.
Discuta qual é ordem
de complexidade do número
de comparações no pior caso, melhor caso
e caso médio.
c.
Discuta a eficiência
da estrutura para as operações de inserção e impressão de todos os registros
em ordem.
9.
Implemente um algoritmo não recursivo para realizar uma
pesquisa em uma árvore binária.
Qual é a ordem de complexidade do seu algoritmo? Explique.
10. Dada a árvore abaixo, liste a ordem em que as chaves
serão impressas caso se use o caminhamento:
|
|
a) pré-ordem |
|
b) central |
|
|
c) pós-ordem |