Technika | Programování

Java pro začátečníky (11) – Rekurze

Anonym

14:56 | 24.9.2010
Anonym

Hodnocení

Rekurze v programovacím jazyku Java. Výhody a nevýhody jejího použití. Oblíbený chyták rekurzivní Fibonacciho posloupnosti a v neposlední řadě zmínka o použití debuggeru při vývoji aplikací.

Java pro začátečníky (11) – Rekurze
Java pro začátečníky (11) – Rekurze

V tomto dílu se budeme zabývat dalším způsobem, kterak vytvořit v Javě cyklus – rekurzí. Ukážeme si rekurzivní algoritmus pro výpočet faktoriálu. Řekneme si, jaké jsou výhody a nevýhody takto formulovaných algoritmů. Vzpomeneme si na Fibonacciho posloupnost (která je z definice rekurzivní), ale dnes nám poslouží spíše jako odstrašující příklad. V úplném závěru zmíníme nástroj, který výrazně usnadní vyhledávání chyb v našich programech – debugger.

Rekurze je definování nějakého objektu (chápáno matematicky) pomocí sebe sama (rekurzivní zkratka: GNU – GNU's Not Unix!). Rekurzivní funkce je taková funkce, která volá sama sebe. Pokud volá sama sebe přímo, tak rekurzi označíme za přímou, pokud skrze nějakého prostředníka, tak za nepřímou.

Rekurzivní funkce musí být na tento typ volání připravena. Musí obsahovat zarážku – triviální případ – pro který je již přímo definován výsledek. Tím je zajištěno, že se funkce nebude volat donekonečna, čímž by velmi rychle došla paměť na zásobníku a program by havaroval (volání funkcí probíhá interně pomocí zásobníkové struktury).

Pokud bychom si v hlavě simulovali rekurzi, tak bychom začali na posledním řádku postupu a ptali bychom se, kolik je . Tuto odpověď sice neznáme, ale víme, že k ní potřebujeme odpověď na to, kolik je . Ani to ale nevíme, musíme sestoupit na, což také nevíme. Při dalším sestupu ale již narážíme na triviální případ a výsledek můžeme vrátit vzhůru. Podle předpisu nejprve získáme výsledek, pak a nakonec i, což byla původní otázka.

Zdroj: Algoritmy.net

Nepřehlédněte

John: Jančík obviněn bude. Vytáhli jsme kostlivce ze…

John: Jančík obviněn bude. Vytáhli jsme kostlivce ze skříní :: Domácí :: ČT24

7.1. | 02:43 Ct24.cz

Praha – Minulý týden zrušil státní zástupce usnesení o…

Logitech G11 Gaming Keyboard

Logitech G11 Gaming Keyboard

7.1. | 02:43 Alza.cz

Profesionální herní klávesnice, ke které dostanete herní myš…

Shakes a Fidget - Cheat

Shakes a Fidget - Cheat

7.1. | 02:43 Shakes-And-Fidget.cz

Návod jak vydělat neomezené množství zlaťáků a houbiček

Alternativa k PPC kampaním od společnosti mClick je tu!

Alternativa k PPC kampaním od společnosti mClick je tu!

13.11. | 15:04 Webitech.cz

Jedná se o systém s názvem mClick, který spustila Česká…


Komentáře

  • Tento článek ještě nikdo neokomentoval. Buď první!
  • Anonym