Disciplina: DCC001 - ANALISE E PROJETO DE ALGORITMOS
Horas Aula: 4
Departamento: DEPTO DE CIENCIA DA COMPUTACAO /ICE
Plano de Ensino
2. ANÁLISE ASSINTÓTICA DE ALGORITMOS: Modelos de computação; Cotas superiores e inferiores; Algoritmos ótimos;
3. PARADIGMAS DE PROJETO DE ALGORITMOS: Projeto por indução; Divisão-e-conquista; Algoritmos gulosos; Programação Dinâmica;
4. ALGORITMOS EFICIENTES: Algoritmos para ordenação: bubble-sort, insertion-sort, merge-sort, heap-sort, quick-sort; Cota inferior para ordenação por comparações; Seleção do k-ésimo e da mediana em tempo linear; Busca binária; Árvore de busca ótima e fatoração ótima para multiplicação de matrizes; Comparação de sequências: maior subsequência comum, algoritmo Knuth-Morris-Pratt para busca de substring; distância de edição; algoritmo Smith-Waterman; Conceito de Análise Amortizada (por exemplo, algoritmo KMP); Algoritmos em Grafos: busca em largura e profundidade; caminho mínimo e algoritmos de Dijkstra e Bellman-Ford; árvore espalhada mínima e algoritmos e Prim e Kruskal; todos os caminhos mínimos e algoritmo de Floyd-Warshall; fluxo máximo e algoritmo de Ford-Fulkerson; Algoritmos geométricos: envoltória convexa: algoritmo da Marcha de Jarvis; ordenação angular e o algoritmo Graham Scan; Cota inferior para envoltória convexa por redução;
5. FUNDAMENTOS DE COMPLEXIDADE COMPUTACIONAL: Redução entre problemas e transferência de cotas; Classe P; Algoritmos não-determinísticos; Verificação polinomial de solução; Classe NP; NP-Completude; Exemplos: SAT, Clique em grafos, Problema da mochila, Soma de subconjuntos, 3-coloração, Caminho e circuito hamiltonianos, Caixeiro viajante, e outros.
TERADA, Routo. "Desenvolvimento de Algoritmos e Estrutura de Dados". Makron Books, 1991.
CORMEN, LEISERSON, RIVEST, STEIN. Algoritmos. Elsevier, 2002.
CAMPELLO, Rui e MACULAN FILHO, Nelson. "Algoritmos e Heurísticas". Editora da UFF, 1994.