Co je rekurze?
Ve vědě o počítačích vyžaduje mnoho problémů strategii rozdělení a dobytí. Technika rekurze využívá tuto strategii. Ve své nejjednodušší formě je rekurze funkcí, která dělí problém na menší problémy, dokud není možné určit konečný produkt. Informatika byla založena na platformě matematiky a logiky. Rekurze je součástí tohoto většího rámce po mnoho desetiletí a dnes ji lze nalézt ve většině počítačových programovacích jazyků.
Dynamické programování je implementace rekurze, která rozděluje problém na komponenty. Tento proces umožňuje vnoření problémů do větších problémů, kde každý dílčí problém vyžaduje výsledek předchozího problému. Tento typ funkční rekurze je typický při manipulaci s poli.
Tento styl programování je výhodný, protože zjednodušuje problém na zvládnutelné komponenty. Výhodou je také modulární vývoj softwaru. Tento modulární přístup umožňuje vytváření opakovaně použitelných součástí v celé počítačové aplikaci.
Rekurze funguje dobře při vytváření bezpečnostních funkcí v počítačových aplikacích. Každá obrazovka aplikace může vyžadovat zvláštní obchodní pravidla, která určují, zda by měla být pole viditelná. Spíše než napsat individuální bezpečnostní kód na každou obrazovku, může být vytvořena rekurzivní funkce pro čtení všech obrazovek před vykreslením dat uživateli a použitím nezbytných omezení viditelnosti.
Grafický design je další oblastí, která se dobře hodí pro rekurzivní problém. Představte si program, který byl navržen tak, aby vytvořil čtverec v rámci čtverce. Menší čtverec by měl stejné funkční požadavky jako větší čtverec, jedinou změnou jsou rozměry těchto dvou čtverců.
Algoritmus třídění je logický problém, kdy seznam položek musí být tříděn v určitém pořadí. Tento typ řešení problému vyžaduje neustálé míchání seznamu do nového seznamu, dokud není konečný seznam uspořádán podle potřeby. Dobrým přístupem k řešení tohoto problému je vytvoření rekurzivní smyčky, která pokračuje v míchání seznamu, dokud není roztříděna do konečného seznamu.
Síla automatizace softwaru způsobuje, že využití rekurze je pro většinu vlastníků systému triviální. Obvykle se očekává, že funkce zabezpečení a třídění sloupců vyžadují jednoduché kliknutí myší nebo tah klávesnice. V rámci této jednoduché akce leží v praxi složitost a elegance rekurze.