da Wikipedia
È la specificazione di una sequenza finita di operazioni (dette anche istruzioni) che consente di risolvere tutti i quesiti di una stessa classe o di calcolare il risultato di un’espressione matematica.
Un algoritmo deve essere:
- finito: è costituito da un numero finito di istruzioni e deve sempre terminare;
- deterministico: partendo dagli stessi dati in ingresso, si devono ottenere i medesimi risultati;
- non ambiguo: le operazioni non devono poter essere interpretate in modi differenti;
- generale: deve essere applicabile a tutti i problemi della classe a cui si riferisce, o ai casi dell’espressione matematica.