Rozdíl mezi opakováním a iterací

Klíčový rozdíl: Při programování lze rekurze vysvětlit zvážením rekurzivní funkce. Rekurzivní funkce je taková, která znovu vyzývá k opakování kódu. Na druhou stranu iterace je dosažena iterační funkcí, která opakuje nějakou část kódu.

Při programování se rekurze a iterace používají k dosažení opakování. Odkazují na proces, který se opakuje několikrát. Rekurze vychází z přístupu, ve kterém se něco týká, dokud není splněna podmínka. Metoda je řečena jako rekurzivní, jestliže se může nazývat buď přímo, nebo nepřímo -

prázdné jméno ()

{{

... název() ...

}}

nebo

prázdné jméno ()

{{

... hra () ...

}}

prázdná hra () {

... název() ...

}}

Pro úspěšné rekurze je třeba mít na paměti, že každý hovor uskutečněný v procesu rekurze musí zjednodušit výpočet. Rekurze je dosažena definováním základního případu.

int faktorial (int N)

{{

pokud (N == 0) vrátí 1;

jiný návrat (N * faktorial (N-1));

}}

V tomto příkladu lze rekurzi snadno vidět ve výkaze (N * factorial (N-1)), kde volá faktoriální funkci znovu. Rekurze je velmi užitečná, protože pomáhá zkrátit kód. Nicméně, rekurze je trochu pomalý výkon.

Iterace je založena na smyčkách. Tyto smyčky odkazují na explicitní iterační procesy. Pro splnění požadavku na smyčku musí mít určitá kritéria, která zastaví další opakování. Nicméně pokud se test stavu smyčky nikdy nestane nepravdivým, pak je v tomto stavu výskyt nekonečné smyčky nevyhnutelný. V tomto příkladu je faktor určován pomocí iteračního procesu -

funkce faktoriál (n)

{{

var smyčka, výsledek;

výsledek = 1;

pro (smyčka = 1; smyčka <= n; smyčka ++)

{{

výsledek = výsledek * smyčka;

}}

výsledek návratu;

}}

V tomto příkladu je smyčka dosažena použitím celých čísel od 1 do n a smyčka <= n je použita jako kritérium pro zastavení další smyčky. Můžeme tedy dospět k závěru, že stejné výsledky lze dosáhnout použitím rekurze a iterace. Oba jsou však založeny na přístupu, který se trochu liší. Libovolný rekurzivní algoritmus může být také napsán pomocí iterací (smyček).

Srovnání mezi opakováním a iterací:

Rekurze

Opakování

Definice

Rekurze se týká rekurzivní funkce, ve které se znovu vyzývá k opakování kódu.

Iterace je dosažena iterační funkcí, která smyčky opakuje některé části kódu.

Důležitý bod

Musí být určen základní případ

Musí být určena podmínka ukončení

Výkon

Srovnatelně pomalý

Srovnatelně rychle

Využití paměti

Srovnatelně více

Srovnatelně méně

Kód

Menší

Delší

Nekonečné opakování

Nekonečná rekurze může způsobit zhroucení systému

Nekonečná smyčka opakovaně spotřebovává cykly CPU

Struktura

Výběr

Opakování

Místní proměnné

Není požadováno

Povinný

Doporučená

Související Články

  • rozdíl mezi: Rozdíl mezi rentgenem a magnetickou rezonancí

    Rozdíl mezi rentgenem a magnetickou rezonancí

    Klíčový rozdíl: X-paprsky využívají záření, aby zachytili obraz vnitřní struktury. MRI využívá magnetické záření k zachycení obrazu. Rentgenové záření se primárně používá k poškození kostí. MRI mohou být použity pro poškození měkkých tkání, rakoviny, nádorů atd. Oblast vědy a medicíny obdržela obrovský
  • rozdíl mezi: Rozdíl mezi GERD a kyselým refluxem

    Rozdíl mezi GERD a kyselým refluxem

    Klíčový rozdíl: Gastroezofageální refluxní choroba (GERD) je zdravotní stav, při kterém žaludeční kyselina v žaludku proudí do jícnu, což způsobuje bolest a nepohodlí. Onemocnění je způsobeno změnami v bariéře mezi žaludkem a jícenem. Kyselinový reflux je stav, kdy spodní ventil spodního jícnu (LES), jednocestný ventil zmíněný výše uvolňuje, aby žaludeční kyselina v žaludku mohla proudit zpět do jícnu. GERD je vážná podmínka, kterou lidé trpí,
  • rozdíl mezi: Rozdíl mezi zařízeními iPad Air a iPad Air 2

    Rozdíl mezi zařízeními iPad Air a iPad Air 2

    Klíčový rozdíl: iPad Air 2 je nejnovější tablet od společnosti Apple a upgrade pro iPad Air zahájený v roce 2013. Air byl nejnovější generace tablet Apple, která nahradila tablety iPad čtvrté generace. IPad Air 2 je nejnovější tabletka od společnosti Apple a upgrade na iPad Air zahájený v roce 2013. Air byl nejnovější g
  • rozdíl mezi: Rozdíl mezi průzkumy a průzkumy

    Rozdíl mezi průzkumy a průzkumy

    Hlavní rozdíl: Ankety a průzkumy jsou dvě různé metody, které lze použít k získání informací. Obyčejně je využívají výzkumníci k tomu, aby posoudili názory a obdrželi zpětnou vazbu. V podstatě je hlavní rozdíl mezi oběma skutečnostmi, že průzkum je malý, jednoduchý a rychlý. Zatímco průzkum může být mírně
  • rozdíl mezi: Rozdíl mezi HTC First a Nexus 4

    Rozdíl mezi HTC First a Nexus 4

    Hlavní rozdíl: HTC First je první telefon, který bude vydán na domácím uživatelském rozhraní Facebooku. Telefon bude napájen dvoujádrovým Kraitem Qualcomm MSM8930 Snapdragon 400 1, 4 GHz a 1 GB paměti RAM. Nexus 4 je čtvrtý Android smartphone značky Android. Byl vyroben ve spolupráci s LG Electronics. Telefon funguje
  • rozdíl mezi: Rozdíl mezi mediánem a průměrným

    Rozdíl mezi mediánem a průměrným

    Klíčový rozdíl: Medián se vypočítá určením střední nebo průměrné střední hodnoty v tříděném seznamu čísel. Průměr se vypočítá přidáním všech čísel v seznamu a rozdělením tohoto čísla na počet členů v seznamu. Střední a průměrná jsou tyto pojmy široce používány v mnoha oblastech. Jsou to však základní nástroje, které se používa
  • rozdíl mezi: Rozdíl mezi HTC First a Xolo X1000

    Rozdíl mezi HTC First a Xolo X1000

    Hlavní rozdíl: HTC First je první telefon, který bude vydán na domácím uživatelském rozhraní Facebooku. Telefon bude napájen dvoujádrovým Kraitem Qualcomm MSM8930 Snapdragon 400 1, 4 GHz a 1 GB paměti RAM. Společnost XOLO spustila model XOLO X1000, smartphone založený na technologii Intel. XOLO x1000 běží
  • rozdíl mezi: Rozdíl mezi účelem a objektem

    Rozdíl mezi účelem a objektem

    Klíčový rozdíl: Účel se pokouší měřit důvod, proč se něco děje. Účel určuje, proč člověk dělá něco, co dělá, jaký je jeho důvod, proč dělá určitou věc a co od něj plánuje dosáhnout. Cíl je vlastně součástí cíle. Pojem "cíl" se týká stanovených úkolů nebo cílů, které si člověk přeje splnit. Cíle jsou konkrétnější a jsou jasně definovány urči
  • rozdíl mezi: Rozdíl mezi časopisem a knihou

    Rozdíl mezi časopisem a knihou

    Klíčový rozdíl: Z hlediska účetnictví je primárním rozdílem mezi dvěma skutečnostmi, že deník působí v počátečním režimu vstupu pro všechny transakce. Záznamy se pak klasifikují a zapisují do knihy. Společně časopis a kniha pomáhají vytvořit podvojný účetní záznamový systém. Na první pohled se může zdát, že jak

Redakce Choice

Rozdíl mezi inženýrem softwaru a počítačovým inženýrem

Klíčový rozdíl: Software Engineers je osoba, která se zabývá návrhem, vývojem, konstrukcí, testováním a údržbou softwaru. Tito lidé mohou také označovat sebe jako vývojáře softwaru nebo počítačových programátorů. Počítačové inženýry jsou lidé, kteří jsou odpovědní za vývoj, implementaci a testování počítačových komponentů, včetně hardwaru a softwaru. Musí také rozvíjet čipy, mikroprocesory a dal