Algoritam je konačan, jasno definiran niz koraka koji transformira ulaz u željeni izlaz. Procjenjujemo ga na dvije osi: ispravnost (daje li uvijek ispravan odgovor?) i učinkovitost (koliko vremena i memorije koristi?).
Zašto je to važno
Valjani algoritam mora biti (svaki korak je jasan), (završava se), i daje rezultat za svaki valjani ulaz.
