Algoritmus je konečná sada dobře definovaných kroků k vyřešení třídy problémů nebo k provedení výpočtu. Jednoduše řečeno, jedná se o soubor pokynů, které popisují, jak provést úkol. Aby mohla být sada pravidel klasifikována jako algoritmus, musí být jednoznačná a musí mít jasný bod zastavení. Může být vyjádřen v jakémkoli jazyce, od přirozených jazyků, jako je angličtina nebo francouzština, až po programovací jazyky, jako je jazyk R.
V počítačových systémech vytvoří vývojář program tak, že v podstatě napíše sadu algoritmů. Je napsáno, že počítače produkují výstup z daného vstupu. Algoritmy se používají k dosažení rychlejších výsledků a jsou nezbytné pro zpracování dat. Mnoho počítačových programů obsahuje algoritmy, které podrobně popisují konkrétní pokyny v určitém pořadí pro provedení konkrétního úkolu, jako je výpočet výplaty zaměstnance.
Příklady algoritmů
Běžným a jednoduchým příkladem algoritmu je recept. Je to konečný seznam pokynů použitých k provedení úkolu. Tyto kroky musí být obvykle provedeny v určitém pořadí, aby bylo dosaženo požadovaného výsledku. Mezi další dobře známé algoritmy patří:
- Google PageRank: Sada algoritmů, které Google použil k určení důležitosti webových stránek indexovaných jeho vyhledávačem. Byl navržen tak, aby rozhodoval o pořadí, ve kterém se budou zobrazovat výsledky vyhledávání. Platnost PageRank vypršela v září 2019, ale byl to první algoritmus, který Google použil.
- Algoritmus časové osy Facebooku: Sada algoritmů, které určují obsah, který uživatel vidí, a v jakém pořadí. Je založen na řadě parametrů (osobní vkus, reakce na předchozí obsah atd.). Algoritmus je neustále aktualizován, aby se zlepšila uživatelská zkušenost.
- Vysokofrekvenční obchodní algoritmy: Algoritmy používané globálně finančními institucemi pro spouštění objednávek na trhu na základě očekávaného zisku a tržních podmínek v daném okamžiku.
- Algoritmus Round Robin: Používá se plánovači procesů a sítí při výpočtu k přiřazení časových řezů každému procesu ve stejných částech v kruhovém pořadí. Může určit dobu, kterou CPU počítače stráví každým probíhajícím procesem.