Algoritmus je konečná, jasně definovaná posloupnost kroků, která transformuje vstup na požadovaný výstup. Hodnotíme jej na dvou osách: správnost (vždy produkuje správný výsledek?) a efektivita (kolik času a paměti používá?).
Idea
Platný algoritmus musí být (každý krok je jasný), (končí) a produkovat výsledek pro každý platný vstup.
