Análise de Algoritmos
Descrição da Disciplina
Nesta disciplina de análises de algoritmos iremos abordar os conceitos básicos de construção e análise dos principais tipos de algoritmos e apresentar metodologias de análise. Apresentaremos em detalhes conceitos fundamentais como conceito de complexidade, tempo de execução, análise assintótica, programação dinâmica, algoritmos de busca e ordenação, teoria de grafos e algoritmos diversos.
Duração
80 horas.
Programa do Curso
- Dia 1: Tópicos preliminares.
- Dia 2: Conceitos Introdutórios – Parte I.
- Dia 3: Conceitos Introdutórios – Parte II.
- Dia 4: Conceitos Introdutórios – Parte III.
- Dia 5: Algoritmos de procura.
- Dia 6: Algoritmos de ordenação.
- Dia 7: Estratégias e Design de Algoritmos.
- Dia 8: Algoritmos – Parte I.
- Dia 9: Algoritmos – Parte II.
- Dia 10: Algoritmos – Parte III.
Dia 1: Tópicos preliminares
- Funções especiais (piso, teto, logaritmos, etc).
- Inversas e composição de funções.
- Recursão matemática.
- Recorrência matemática.
- Indução matemática.
Dia 2: Conceitos Introdutórios - Parte I
- Ordens de crescimento ascintótico.
- Soluções por recorrências.
Dia 3: Conceitos Introdutórios - Parte II
- Soluções por recursão.
- Análise amortizada.
Dia 4: Conceitos Introdutórios - Parte III
- Randomização.
- Programação dinâmica.
Dia 5: Algoritmos de procura
- Procura linear.
- Análise de busca binária.
- tree search algorithm.
Dia 6: Algoritmos de ordenação
- Selection.
- Insertion.
- Merge.
- Quicksort.
Dia 7: Estratégias e Design de Algoritmos
- Divisão e conquista.
- Algoritmos gulosos.
- Teoria de complexidade.
Dia 8: Algoritmos - Parte I
- Algoritmo da mochila Booleana.
- Algoritmo da mochila fracionária.
- Aproximação para mochila booleana.
Dia 9: Algoritmos - Parte II
- Introdução à teoria dos grafos.
- Representação de dados (matriz de adjacência, proximidade, etc) .
- Passeios e caminhos.
- Florestas radicadas.
Dia 10: Algoritmos - Parte III
- Introdução à teoria de Ciclos.
- Grafos acíclicos.
- Permutação topológica.
- Caminhos críticos.
Bibliografia do curso
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, 3rd edition, MIT Press, 2009.
- T.H. Cormen, Algorithms Unlocked, MIT Press, 2012.
- Jon Kleinberg, Éva Tardos, Algorithm Design, Addison-Wesley, 2005.
- S. Dasgupta, C.H. Papadimitriou, U.V. Vazirani, Algorithms, McGraw-Hill, 2006.
- G. Brassard, P. Bratley, Fundamentals of Algorithmics, Prentice Hall, 1996.
Torne-se um Profissional
Nossos treinamentos são divididos em módulos planejados, todos muito bem estruturados para você se tornar um profissional de qualidade e especializado dentro da área de dados.