Informações Gerais
Principais tópicos a serem cobertos na disciplina:
- Listas lineares (pilhas e filas)
- Listas ligadas
- Recursão
- Busca (seqüêncial e binária)
- Ordenação (bubblesort, mergesort, quicksort, heapsort,...)
- Filas de prioridade
- Algoritmos de enumeração (backtracking)
- Busca de padrão em texto
Objetivos principais:
- Aprender os tipos abstratos de dados mais comuns em projeto de algoritmos.
- Aprender técnicas de projeto de algoritmos.
- Ver a análise de correção dos algoritmos estudados.
- Adquirir traquejo inicial em análise de algoritmos, através da
análise dos algoritmos vistos durante o curso.
Bibliografia principal:
- R. Sedgewick, Algorithms in C, 3rd ed., vol. 1,
Addison-Wesley/Longman, 1998. [QA758 S448c]
Outras recomendações:
- N. Wirth, Algorithms and Data Structures, Prentice Hall,
1986. [QA758 W799d]
- R. Sedgewick, Algorithms, Addison-Wesley, 1988. [QA758 S448a]
- N. Ziviani, Projeto de Algoritmos com Implementações em Pascal
e C, Pioneira, 1993. [QA758 Z82a]
- J. Bentley, Programming Pearls, Addison-Wesley, 1986. [QA754 B477p]
- J. Bentley, More Programming Pearls, Addison-Wesley,
1988. [QA754 B477m]
- A.V. Aho, J.D. Ullman, Foundations of Computer Science,
Computer Science Press, 1992.
- P. Feofiloff, Notas de aula de Projeto de
Algoritmos, 1999.
Avaliação:
- Duas provinhas:
p1 em 3 de abril
p2 em 15 de maio
- Uma prova final:
P3 em 26 de junho
- Quatro exercícios-programa.
Média final:
- Média de provas:
P = (p1+p2+2*P3)/4.
- Media dos exercícios-programas:
EP = (EP1+EP2+2*EP3+2*EP4)/6.
- Média final M:
se P >= 5.0 e EP >= 6.0
então M = (2*P+EP)/3
senão M = min{P, EP, 4.5}.
Last modified: Wed Mar 6 11:58:32 EST 2002