V programování programový modul nebo podprogram, který se sám volá, aby provedl iterační operaci; jinými slovy, čistý výraz se opakuje, aby se dosáhlo mnohem složitější operace.
Princip rekurze je ilustrován Fibonacciho čísly, číselnou řadou, ve které jsou první dva členy 1; po sobě jdoucí členy jsou dány součtem dvou předchozích členů (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 atd.). Fibonacciho čísla lze generovat pomocí následující rovnice, pokud je n větší než 2: Fibonacciho («) = Fibonacciho (« – 1) + Fibonacciho (n – 2).
Technipages vysvětluje rekurzi
Rekurze je metoda řešení problémů v programování, při které je problém rozložen na menší jednotky problémů a řešen individuálně. Takže první řešení závisí na menších řešeních, z nichž menší problémy. Rekurze napomáhá řešení problémů, protože otázka je řešena podle jejích podmínek.
Nejlépe to ilustrují ruské matrjošky, což je sada panenek zapouzdřených ve větší panence; každý kus panenky je přímá replika následující nebo předchozí panenky kromě menších. Každá panenka je tedy malou nebo výraznější verzí té druhé. Rekurzivní programování je založeno na tomto principu, ve kterém se problém řeší jeho rozdělením na menší problémy.
Rekurzi lze vysledovat až do roku 1958, John McCarthy byl první, kdo využil princip rekurze v programování, a to lze nalézt na jeho práci na LISP. LISP byl prvním programovacím jazykem, který obsahoval rekurzivní funkce, jak je máme dnes. McCarthyho dílo bylo inspirováno díly Alonza Churche, které byly před dvěma desetiletími. Pozoruhodné zmínky spojené s rekurzí lze také datovat do Dedekindovy práce o přirozených číslech v roce 1888. Rozsa Peter prezentoval rekurzivní funkce v roce 1932 na Mezinárodním kongresu matematiků v Curychu v roce 1932.
Běžná použití rekurze
- Rekurze pomáhá při řešení problémů, protože řeší problém podle jeho podmínek od rozdělení problému na menší problémy
- Lepší způsob, jak řešit problémy, by byl přes Rekurze protože to rozšiřuje pohled na daný problém
- v Rekurze, nová sada problémů je replikami každého jiného a problémy se řeší každý samostatně.
Běžná zneužití rekurze
- Rekurze neřeší problémy, i když je problém rozdělen na řešení v menším měřítku
- Rekurze pouze zjednodušuje problém a neodpovídá na něj.