Em matemática e ciência da computação, um algoritmo consiste numa sequência finita de ações executáveis concebidas para solucionar um problema. Para ilustrar o conceito de forma simples, recorre-se frequentemente ao exemplo de uma receita culinária, embora existam procedimentos bem mais complexos. Um algoritmo não é necessariamente um programa informático: trata-se apenas dos passos requeridos para cumprir uma tarefa, podendo ser executado por um computador, por outro autómato ou até por um ser humano.123
Para funcionar corretamente, estes métodos devem ser precisos e apresentar passos bem definidos que antecipem falhas e conduzam à solução. Podem repetir passos através de iterações ou exigir tomadas de decisão lógicas. Além disso, tarefas idênticas podem ser concretizadas por sequências distintas de instruções: vestir primeiro as calças e depois as meias e os sapatos leva ao mesmo resultado que calçar as meias e os sapatos antes das calças, mas o primeiro processo é substancialmente mais fácil de executar.4567
A própria palavra tem origem no sobrenome do matemático persa Mohamed ben Musa, conhecido como Al-Khwarizmi, que viveu no século IX. As suas obras foram traduzidas no ocidente durante o século XII, incluindo um texto intitulado Algorithmi de numero indorum sobre numeração decimal. Mais tarde, em 1936, a formalização teórica moderna surgiu com a Máquina de Turing de Alan Turing e o cálculo lambda de Alonzo Church.89