Um algoritmo é uma sequência de passos elementares executados um após o outro, seguindo o fluxo de execução (de cima para baixo). Em geral, um algoritmo deve ser aplicado sobre um conjunto de valores para produzir um outro conjunto de valores como resposta. Uma característica que um algoritmo deve apresentar é ser determinístico: sempre que for aplicado sobre o mesmo conjunto de entradas este sempre deverá produzir a mesma saída.
Nos exemplos utilizaremos quatro tipos de conceitos: