In matematica e informatica, un algoritmo è un metodo efficace espresso come un elenco finito di istruzioni ben definite per il calcolo di una funzione. Gli algoritmi vengono utilizzati per il calcolo, l'elaborazione dei dati e il ragionamento automatico.