Le sue caratteristiche
Finito
Il processo risolutivo descritto dall’algoritmo deve terminare dopo un numero finito di passi o azioni elementari e deve essere caratterizzato da un punto iniziale e da un punto finale.
Dettagliato
Ad ogni passo dell’algoritmo deve corrispondere un’azione elementare che l’esecutore è in grado di compiere.
Non ambiguo
Ogni passo o azione elementare di un algoritmo deve essere univocamente interpretabile dall’esecutore.
Generale
L’algoritmo va inteso come metodo di risoluzione non di un unico caso, ma di una classe di problemi dello stesso tipo.
Deterministico
L'algoritmo deve risolvere il problema in modo che, partendo sempre dalle stesse condizioni iniziali, deve fornire sempre gli stessi risultati finali ad ogni sua esecuzione.
Completo
Un buon algoritmo deve sempre considerare tutti i casi possibili che si possono verificare durante l’esecuzione e, per ogni caso previsto, indicare la soluzione da seguire.
Limitato nel tempo
Anche se l'algoritmo impiega molto tempo per raggiungere la soluzione, deve sempre comunque avere un punto di arresto.
Efficiente
L’esecuzione di un algoritmo deve comportare l’utilizzo, tendenzialmente, di meno risorse possibili (ossia tempo di esecuzione e spazio di memorizzazione).