Introdução


Motivação

Bem-vindo ao Algoritmos em Python! Antes de mais nada, gostaríamos explicar brevemente como este curso é organizado e o que você pode esperar aprender com ele.

Existem várias estratégias para se resolver problemas computacionais, e a melhor estratégia para se resolver um problema pode não funcionar em outro. Por isso, é importante dominarmos várias dessas estratégias para termos as ferramentas necessárias para resolver os mais variados tipos de problemas. Ao longo do curso, você aprenderá tanto as estratégias quanto os tipos de problemas aos quais elas se aplicam. E você aprenderá tudo isso em uma linguagem de programação de verdade!

Algoritmos podem ser estudados e entendidos de modo independete do hardware ou de uma linguagem de programação específica. Por isso, frequentemente, livros-texto de algoritmos trazem o pseudo-código dos algoritmos. Entretanto, quando tentamos de fato implementar os algoritmos, vemos que existem detalhes não especificados (ou de difícil compreensão) no pseudo-código, o que acaba tornando a implementação em uma linguagem de programação uma tarefa muito difícil.

Neste material, mostramos os algoritmos bem como implementações em Python de todos eles. Com essas implementações, você verá que os detalhes dos algoritmos ficarão mais claros, e se você quiser implementar os mesmos algoritmos em outra linguagem de programação de sua preferência, terá menos dificuldades do que se partisse somente do pseudo-código. Além disso, quando aplicável, explicaremos formas de usar os mesmos algoritmos por meio de bibliotecas da linguagem.