Aulas de Análise de Algoritmos

The life so short
the craft so long to learn.

A vida tão curta,
o ofício tão longo de aprender.

— Geoffrey Chaucer

Estas aulas de análise de algoritmos foram baseadas em partes dos livros de Cormen, Leiserson, Rivest e Stein, de Kleinberg e Tardos, de Brassard e Bratley e de alguns outros.   O curso estuda alguns algoritmos clássicos e analisa sua correção e o seu desempenho.  Para preparar o terreno, as primeiras aulas tratam de duas importantes ferramentas matemáticas:  a comparação assintótica de funções e a resolução de recorrências.

Embora os nossos algoritmos sejam descritos em pseudocódigo — em estilo semelhante ao de Cormen, Leiserson, Rivest e Stein — convém que o leitor conheça alguma linguagem de programação, como a linguagem C, por exemplo. Também é desejável que o leitor conheça algumas estruturas de dados básicas.

Preliminares

Ferramentas de análise

Paradigmas de projeto e análise

Problemas e algoritmos

Complexidade de problemas

Dicionário e índice