Análise de Algoritmos (1/04)
Programa da Disciplina
Objetivos:
- Desenvolver a capacidade de avaliar a complexidade e a qualidade
dos algoritmos propostos para um determinado
problema.
- Estudar os algoritmos básicos para as classes mais
importantes de problemas tratados em computação.
- Compreender a importância da implementação e
a sensibilidade do comportamento dos algoritmos à ela.
- Conhecer as potencialidades e as limitações do
conhecimento algorítmico atual.
- Apresentar as tendências da pesquisa na área.
Ementa:
1. Problemas Algorítmicos,
Correção e Eficiência de Algoritmos. 2.
Indução Finita e Solução de
Recorrências. 3. Algoritmos de Ordenação,
Seleção e Mediana. 4. Estrutura de Dados: Filas, Pilhas,
Heaps, Hashing, Árvores de Busca. 5. Divisão e
Conquista, Programação Dinâmica e Método
Guloso. 6. Algoritmos em Grafos. 7. Noções da
teoria de complexidade: as classes P, Np, e CoNP e Algoritmos
Aproximados. 8. Tópicos Avançados.
Bibliografia:
- Cormen, T., Leiserson, C., Rivest, R. e C.
Stein, Introduction to Algorithms (2nd ed), MIT Press, 2001.*
- Baase S. e Van Gelder A., Computer
Algorithms: Introduction to Design and Analysis (3rd ed),
Addison-Wesley, 2000.*
- Manber U., Algorithms: A Creative Approach, Addison-Wesley, 1989.
- Aho, Alfred V. , Hopcroft, John E. e Ullman, Jeffrey D.,
The design and analysis of computer algorithms, Reading:
Addison-Wesley, 1974. 470p.
- Sedgewick R., Algorithms. Addison-Wesley, 1988
- Garey, M. Johnson, D., Computers and Intractability: a guide to
the theory of NP-Completeness, Freeman, 1979.
- Ahuja R.K., Magnanti T.L. e Orlin J.B., Network Flows.
Prentice Hall, 1993.