Un algoritmo si può definire un insieme di regole precise (procedimento o strategia risolutiva) che, partendo dai dati di un problema, consente di ottenere un risultato atteso eseguendo, in un determinato ordine, un insieme di passi semplici corrispondenti ad azioni scelte solitamente da un insieme finito. Il termine deriva dal nome del matematico persiano Muhammad ibn Mūsa 'l-Khwārizmī, che si ritiene essere uno dei primi autori ad aver fatto riferimento esplicitamente a questo concetto, nel libro Kitāb al-djabr wa 'l-muqābala (Libro sulla ricomposizione e sulla riduzione), dal quale tra l'altro prende anche le origini la parola algebra.

 Nel senso più ampio della parola, "algoritmo" è anche una ricetta di cucina (per cucinare una frittata di cipolle!), o il libretto delle istruzioni di un elettrodomestico, che spiega come utilizzarlo . Di norma, comunque, la parola viene usata in contesti matematici, e soprattutto informatici.

 

Da questa definizione si evincono le quattro proprietà fondamentali dell'algoritmo:

 

  • la sequenza di istruzioni deve essere finita (finitezza);
  • essa deve portare ad un risultato (effettività);
  • le istruzioni devono essere eseguibili materialmente (realizzabilità);
  • le istruzioni devono essere espresse in modo non ambiguo (non ambiguità).