Algoritmus je soubor jasně definovaných instrukcí nebo pravidel, které určují, jak má být určitý úkol či problém vyřešen. Algoritmy mohou být vyjádřeny v mnoha formách, včetně přirozeného jazyka, pseudokódu, diagramů nebo programovacích jazyků.
Pár klíčových aspektů algoritmů:
1. **Konečnost:** Každý algoritmus musí po určitém počtu kroků skončit. Nemůže trvat věčně.
2. **Jasně definované instrukce:** Každý krok v algoritmu musí být jasně definován, takže není místnost pro nejednoznačnost.
3. **Vstupy:** Algoritmy mají nulový nebo více vstupů. Tyto vstupy jsou často předem definovány a mohou být jakéhokoli druhu (např. čísla, texty).
4. **Výstupy:** Na základě daných vstupů algoritmus poskytuje jeden nebo více výstupů. Výstupy jsou výsledkem zpracování algoritmu.
5. **Efektivita:** Ačkoli to není nutné pro všechny algoritmy, v praxi je často důležité, aby byl algoritmus co nejefektivnější z hlediska využití zdrojů (např. časové náročnosti nebo paměti).
Algoritmy se používají v mnoha oblastech vědy a techniky, zejména v oboru informatiky a programování. Mohou řešit širokou škálu úkolů, od jednoduchých (např. algoritmus pro sčítání dvou čísel) po velmi složité (např. algoritmy pro rozpoznávání obrazů nebo analýzu složitých datových struktur).
Díky svému základnímu charakteru mají algoritmy hluboké matematické kořeny a mnoho výzkumných oblastí, jako je teorie algoritmů, se věnuje studiu jejich vlastností, efektivnosti a optimalizaci.