Aula01 Introducao
Prof. Heraldo L. S. Almeida, D.Sc
Depto Engenharia Eletrônica e de Computação
Escola Politécnica - UFRJ
Sala H219 Gabinete 18 - Tel. (21) 2562-8192 www.del.ufrj.br/~heraldo heraldo@ufrj.br
Conteúdo Programático
Parte I – Introdução à Análise de Algoritmos
Parte II – Estruturas de Dados e seus Algoritmos
Parte III – Técnicas de Construção de Algoritmos
-2-
Conteúdo Programático
Parte I – Introdução à Análise de Algoritmos
1. Conceitos
2. Especificação de Algoritmos
3. Correção de Algoritmos
4. Complexidade Computacional
5. Análise Assintótica
6. Algoritmos Recursivos
-3-
Conteúdo Programático
Parte II – Estruturas de Dados e seus Algoritmos
7.
Tipos Abstratos de Dados
14. Árvores AVL
8.
Listas
15. Árvores Rubro-Negras
9.
Pilhas
16. Árvores B
10. Filas
17. Grafos
11. Deques
12. Árvores
13. Árvores Binárias de Busca
-4-
Conteúdo Programático
Parte III – Técnicas de Construção de Algoritmos
18. Programação Dinâmica
19. Algoritmos Gulosos
20. Backtracking
-5-
Bibliografia
T. H. Cormen, C. E. Leiserson, R. Rivest, C. Stein,
Algoritmos - Teoria e Prática
Jayme Swarcfiter, Lilian Markenzon,
Estruturas de Dados e seus Algoritmos
Nívio Ziviani, Projeto de Algoritmos com
Implementações em Java e C++
-6-
Parte I
Introdução à Análise de Algoritmos
1. Conceitos
2. Especificação de Algoritmos
3. Correção de Algoritmos
4. Complexidade Computacional
5. Análise Assintótica
6. Algoritmos Recursivos
1. Introdução
Conceito de algoritmo
Algoritmos e estruturas de dados
1. Introdução aos Algoritmos
- Conceito de Algoritmo
Conceito de Algoritmo
Os algoritmos fazem parte do cotidiano das pessoas.
Exemplos de algoritmos: instruções para o uso de medicamentos indicações de como montar um aparelho uma receita de culinária
-9-
1. Introdução aos Algoritmos
- Conceito de Algoritmo
Definição de “algoritmo”:
Seqüência finita de ações executáveis para a obtenção de uma solução para um determinado tipo de problema.
Descrição