Proprietà di un algoritmo
Affinchè una sequenza ordinata di azioni possa essere realmente considerata un algoritmo, è
necessario
che essa soddisfi anche una serie di proprietà fondamentali.
Più specificatamente, un algoritmo deve essere:
- Generale: deve consentire di risolvere tutti i problemi della stessa classe (problemi simili)
- Finito: deve essere costituito da un insieme finito di azioni ed il numero di volte in cui esse sono eseguite deve essere finito (deve terminare)
- Non ambiguo: le sue azioni devono essere univocamente interpretabili dagli esecutori per cui è stato progettato, senza lasciare spazio a dubbi o ambiguità
- Completo/Robusto: deve prevedere ogni possibile situazione di dati in ingresso e comportarsi correttamente in tutti i casi possibili
- Deterministico: deve restituire gli stessi dati in uscita (output), partendo dagli stessi dati in ingresso (input)
- Eseguibile: deve esserci un esecutore in grado di eseguire le azioni da cui è composto
- Efficace: permettere di giungere alla soluzione del problema, utilizzando in modo ottimale le risorse (efficienza), in termini di spazio di memoria e tempi di elaborazione