Algoritmos, de acordo com o dicionário, é um conjunto finito de regras, raciocínios ou operações que possam ser aplicadas a dados para gerar um resultado ou solucionar um problema.

Apesar dessa definição mais sofisticada, os algoritmos fazem parte do nosso dia-a-dia. Por exemplo, usamos, de forma quase inconsciente, algoritmos para fazermos nossos trabalhos acadêmicos e profissionais, para nos deslocarmos pela cidade e, até mesmo, na cozinha, para preparamos um prato qualquer. Um receita culinária é, assim, uma forma de algoritmo. Veja o caso de preparação de um bolo: definimos quais e coletamos ingredientes como ovos, leite e farinha. Em seguida, em uma ordem específica e de um jeito também pré-determinado, usamos os ingredientes, um a um, na preparação da massa. Finalmente, levamos a massa ao forno por um tempo e a uma temperatura também específicos. Ou seja, seguimos alguns passos em uma determinada ordem e de uma forma pré-estabelecida para obtermos um produto.

O intuito aqui, obviamente, não é ensinar a se fazer um bolo, mas mostrar que vários problemas triviais do nosso dia-a-dia possuem soluções baseadas em sequências de passos pré-definida. Alguns desses problemas são mais complexos e podem envolver tomadas de decisão. Por exemplo, podemos criar uma receita de bolo cujos ingredientes devam ser coletados na quantidade de porções que o bolo terá (isto é, de acordo com o seu tamanho). Outros problemas podem ser resolvidos por meio da combinação de soluções de problemas mais simples - essa é a famosa estratégia de dividir para conquistar. Mas, de uma forma geral, quase todos os nossos problemas pessoais, profissionais e sociais podem ser resolvidos por uma sequência de passos, por mais complexa que seja.

Basicamente, a criação de um algoritmo é a definição de uma sequência de passos organizada e que manuseia dados para a solução de um problema. Na computação, temos algoritmos básicos, como os de ordenação de dados e de buscas em conjuntos de dados e os algoritmos mais sofisticados como os de criptografia e de compressão de dados.

Neste livro, construído por alunos e professores do curso de Ciência da Computação da PUC Minas e com a colaboração de toda a comunidade do Wikilivros, apresentaremos os principais algoritmos usados no desenvolvimento de softwares. Nosso objetivo é tornar o leitor capaz de escolher quais algoritmos devem ser usados para solucionar os problemas que precisarem resolver.

Referências: editar

Algoritmo - Wikipedia

Algoritmo - Dicio Online

Algoritmos e Estrutura de Dados I , II e III - PUC Minas