Projeto e Análise de Algoritmos
Ementa
Análise de algoritmos: ordens de crescimento, eficiência de pior caso, melhor caso e caso médio, notação assintótica (O-grande, W-grande, Q-grande), análise de algoritmos não-recursivos e recursivos. Projeto de algoritmos: força bruta e busca exaustiva, decréscimo e conquista, divisão e conquista (teorema mestre), transformação e conquista, trade-offs de tempo e espaço, programação dinâmica, técnica gulosa, melhora iterativa. NP-completude: problemas P, NP, NP-completos, NP-Difíceis e Co-NP, reduções polinomiais, teorema de Cook.
Objetivos
Analisar e avaliar os fatores computacionais teóricos e práticos para o desenvolvimento de algoritmos e das estruturas de dados no campo da resoluçao de problemas computacionais reais e cotidianos do mercado de trabalho, promovendo a eficiência nas soluções computacionais.