Um algoritmo é uma sequência finita e bem definida de passos que transforma entrada na saída desejada. Julgamos com base em dois eixos: correctness (sempre produz a resposta correta?) e efficiency (quanto tempo e memória usa?).
Por que isso importa
Um algoritmo válido deve ser unambiguous (cada passo é claro), finite (termina) e produzir o resultado correto para cada entrada válida.
