L'algoritmo è una sequenza di passi, che dato un input produce un output.
Il numero di passi deve essere finito. Deve essere deterministico. Non deve essere ambiguo.
Modello generale di risoluzione di un problema
Trovare tutti i punti del problema
Identificare un procedimento risolutivo corretto e ottimale