Algoritmos e Estruturas de Dados

Propaganda
Fundamentos de Algoritmos e Estruturas de Dados
1. Conteúdo Programático
Conceitos Básicos
• Algoritmos na computação.
• Recorrências
• Complexidade
Métodos de Ordenação
Estruturas de Dados
• Elementares (listas, pilhas, filas)
• Tabelas hash
• Árvores binárias
• Árvores balanceadas: AVL e vermelho-preto
• Estruturas svançadas: heaps, árvores digitais, árvore PATRICIA
Grafos
• Algoritmos elementares
• Caminhamentos
• Busca de caminhos mais curtos
Fluxo em Redes
Cálculo do Fluxo Máximo
Algoritmo de Ford-Fulkerson
Tópicos avançados
• Programação dinâmica
• Algoritmos gulosos
• Algoritmos para correspondência de cadeias
• Problemas NP-completos
2. Bibliografia
• Cormen, Thomas H.; Leisserson, Charles E.; Rivest, Ronald.
Algoritmos: Teoria e Prática. Rio de Janeiro: Campus 2002.
• Tenembaum, A. M., Langsam Y., Augenstein, M. J., Estruturas
de Dados Usando C, Editora Makron Books, 1995.
• Ziviani, N. Projeto de Algoritmos. Pioneira, 1986.
• Pereira, S. L. Estruturas de Dados Fundamentais. Érica, 1996.
• Wirth, N. Algoritmos e Estruturas de Dados. Rio de Janeiro:
Prentice-Hall, 1989.
• Knuth, D. E. The Art of Computer Programming, Vol I.
Addison-Wesley, 1968.
• Scwarcfiter, J. Grafos e Algoritmos Computacionais. Rio de
Janeiro: Campus, 1988.
• Terada, R. Desenvolvimento de Algoritmos e Estruturas de
Dados. São Paulo: Makron Books, 1991.
• Horowitz, Ellis, Fundamentos de Estruturas de Dados, Rio de
Janeiro : Campus, 1987.
• Lafore, Robert, Algoritmos and Data Structures in JAVA,
Makron Books, 1998.
• Main, Michael, Data structures & other objects using C++,
Addison-Wesley, 1997.
• Tremblay, Jean-Paul, An introduction to data structures with
applications, 2 nd. ed., Auckland : McGraw• Hill, 1984.
3. Introdução
A) Temos uma rede de dispositivos eletrônicos. Tais dispositivos
estão interligados por canais de comunicação. Cada canal tem um
valor associado C (número real no intervalo 0 ≤ C ≤ 1) que
representa sua confiabilidade. Interpreta-se como confiabilidade a
probabilidade de que o canal não venha a falhar (suponha que
estas probabilidades são independentes). Forneça um algoritmo
para encontrar o caminho mais confiável entre dois dispositivos
dados.
B) Considere uma rede de ferrovias conectando duas cidades
através de um número de cidades intermediarias, onde cada
ferrovia tem uma capacidade de transporte específica. Como
encontrar o fluxo máximo entre as duas cidades?
Questões
• Como representar estes problemas?
• Como construir os algoritmos necessários?
• Que estrutura de dados utilizar?
Download