Trattasi di un processo o set di istruzioni di natura matematica da eseguire in sequenza. Ha lo scopo di compiere operazioni di tipo computazionale e di risolvere una serie di problemi circoscritti e specifici. Un algoritmo non deve risultare ambiguo ossia non interpretabile, finito, ossia ogni passo deve essere non scomponibile ed effettivo, ovvero condurre ad un unico risultato.