Objetivos:

A disciplina tem por objetivo: rever algoritmos clássicos, fazer a análise do seu desempenho e desenvolver a capacidade de classificar problemas computacionais e algoritmos de acordo com a sua complexidade.

Justificativa:

O projeto de algoritmos é uma atividade fundamental na computação e a análise é parte indispensável nesse projeto.

Conteúdo:

  1. Notação assintótica.
  2. Recorrências.
  3. Mergesort.
  4. Quicksort.
  5. Filas de prioridade e heapsort.
  6. Ordenação em tempo linear.
  7. Programação dinâmica.
  8. Algoritmos elementares para grafos.
  9. Árvore geradora mínima.
  10. Caminhos mínimos.
  11. Complexidade computacional.