Un algoritmo è una sequenza finita e ben definita di passi che trasforma l'input nel risultato desiderato. Lo valutiamo su due assi: correttezza (produce sempre la risposta giusta?) e efficienza (quanto tempo e memoria utilizza?).
L'idea
Un algoritmo valido deve essere non ambiguo (ogni passo è chiaro), finito (termina), e produrre il risultato corretto per ogni input valido.
