Projeto e Análise de Algoritmos

1. Novidades

...Em breve novos lançamentos aqui...


2. Dados Gerais

Carga Horária: 4 Aulas semanais / 64 horas de aula(Sem.)

Curso: Bacharelado em Sistemas de Informação


3. Horários

Aulas: Seg 17:00-18:40 e Qui 17:00-18:40

Horário de Atendimento: Seg xx:xx


4. Objetivo

Capacitar o estudante para analisar e projetar algoritmos adotando estratégias adequadas para variados tipos de problemas complexos. Dar o entendimento a respeito de diferentes paradigmas que podem ser aplicados na concepção de algoritmos. Dar embasamento para que o aluno possa analisar a complexidade de algoritmos para desta forma adotar melhores estratégias de implementação. Preparar o estudante para conhecer e desenvolver algoritmos específicos para determinados problemas representados em estrutura de grafos. Permitir que o aluno entenda classes de complexidade para propor soluções aproximadas para problemas do tipo NP-Completo.


5. Conteúdo programático
  1. Algoritmos
  2. Conceitos Básicos
  3. Crescimento Função
  4. Recorrências
  5. HeapSort
  6. QuickSort
  7. Ordenação em Tempo Linear
  8. Programação Dinâmica
  9. Algoritmos Gulosos
  10. Análise Amortizada
  11. Algoritmo elementares de Grafos
  12. Árvores Espalhadas Minimas
  13. Caminhos mais Curtos (única origem)
  14. Caminhos curtos (todos os pares)
  15. Fluxo Máximo
  16. Problemas NP-completos
  17. Algoritmos de aproximação

6. Aulas e Listas de Exercícios
  • Algoritmos [Aula 1]
  • Ordenação e Divisão e Conquista [Aula 2]

7. Trabalhos práticos e arquivos
  • ...Trabalhos aqui...

8. Datas importantes

Dia                         Conteúdo

____________________________________________________________________________________________

03/02                     Primeira aula

9. Códigos implementados em sala
  1. Códigos construídos em sala ficam disponíveis aqui...

10. Referências Bibliográficas

ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++. São Paulo: Thomson Learning, 2007. xx, 621 p. ISBN 9788522105250 (broch.).

GERSTING, Judith L. Fundamentos matemáticos para a ciência da computação: um tratamento moderno de matemática discreta. 5. ed. Rio de Janeiro: LTC, c2004. xiv, 597 p. ISBN 9788521614227.

CORMEN, Thomas H. et al. Algoritmos: teoria e prática. Rio de Janeiro: Elsevier, 2012. xvi, 926 p. ISBN 9788535236996.