
Nesta disciplina vamos trabalhar essencialmente com fundamentos de complexidade computacional. Na prática, ao final deste curso o aluno estará habilitado a analisar e determinar a performance de um dado algoritmo quando aplicado a um determinado tipo de problema. O curso cobre tópicos em análise assintótica de algoritmos, técnicas de indução matemática aplicada a provas de corretude algorítmica, estratégias e análise de complexidade em algoritmos de pesquisa, seleção e ordenação, métodos para resolução de complexidade em condições de recursão e recorrência, redução de problemas, além de teoria de classes de problemas P, NP, NP-completos e NP-Difíceis.