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

  • populární srovnání: Rozdíl mezi konvexní a nekonvexní

    Rozdíl mezi konvexní a nekonvexní

    Klíčový rozdíl: Konvexní se vztahuje k zakřivení, které se rozkládá směrem ven, zatímco nekonvexní se vztahuje k zakřivení, které se rozkládá směrem dovnitř. Nekonvexní je také označována jako konkávní. Konvexní a nekonvexní oba definují typy zakřivení. Konvexní definuje zakřivení, které se rozkládá směrem ven nebo vyčnívá. Na druhou stranu nekonvexní definuje za
  • populární srovnání: Rozdíl mezi slunečnicovým olejem a olivovým olejem

    Rozdíl mezi slunečnicovým olejem a olivovým olejem

    Hlavní rozdíl: Slunečnicové a olivové oleje jsou nejlépe známými druhy zeleninového oleje. Hlavní rozdíl spočívá v jejich původu; tj. slunečnicový olej se získává z drcených slunečnicových semen, zatímco olivový olej se získává z drcených oliv. V dnešních dnech jsou v potravinách a na trzích k dispozici odrůdy olejů a jejich druhy, z nichž více vzkvétají slunečnice a olivové oleje. Slunečnicový olej je běžněji používaný
  • populární srovnání: Rozdíl mezi rukopisem a přepisem

    Rozdíl mezi rukopisem a přepisem

    Klíčový rozdíl: Rukopis se týká dokumentu, který je ručně psaný, zatímco přepis je písemná nebo tištěná kopie diktovaného nebo nahraného projevu. Původní zdrojový materiál a jeho přepis se v médiu vždy liší. Rukopis odkazuje na dokument, který je psán ručně. Tento výraz pochází z latinského výrazu "manu scriptus", který znamená "psaný ručně". Není ani tištěna ani reprodukována jiným
  • populární srovnání: Rozdíl mezi telefony Nokia Lumia 925 a iPhone 5

    Rozdíl mezi telefony Nokia Lumia 925 a iPhone 5

    Klíčový rozdíl: Společnost Nokia nedávno oznámila svůj nový vlajkový telefon Nokia Lumia 925. Telefon je dodáván s kapacitou dotykové obrazovky AMOLED s kapacitou 4, 5 palce, která na přední straně zabírá dostatek místa, a reproduktory a senzory nahoře. Kapacita obrazovky o kapacitě 4, 5 palce má stejný kód PureMotion HD +, ClearBlack, který se nachází v zařízení Lumia 920. iPhone 5 je nejnovější inovat
  • populární srovnání: Rozdíl mezi AIFF a MIDI

    Rozdíl mezi AIFF a MIDI

    Klíčový rozdíl: AIFF je zkratka formátu souborů pro výměnu zvuku. Na druhou stranu je MIDI zkratkou pro Digitální rozhraní hudebních nástrojů. AIFF je zkratka formátu Audio Interchange File Format; je to také formát zvukových souborů. V roce 1988 byl formát vytvořen společností Apple Computer. Přední formát souborů
  • populární srovnání: Rozdíl mezi mládeží a mladými

    Rozdíl mezi mládeží a mladými

    Klíčový rozdíl: "Mládež" je podstatné jméno obecně užívané pro vyvíjející se jedince, zatímco "Mladý" je přídavné jméno, které obecně odkazuje na potomstvo nebo na ty, kteří existovali na kratší dobu. Mladí jsou nově narozené nebo něžné stvoření, které se mohou týkat jakéhokoli živého organismu, jako jsou lidé, rostliny nebo zvířata. Mladý termín obecně odkazuje na "pot
  • populární srovnání: Rozdíl mezi PVA a LCD

    Rozdíl mezi PVA a LCD

    Rozdíl mezi klíčem: Hlavním rozdílem mezi LCD a PVA je, že LCD je typ panelu displeje, který používá tekuté krystaly k vytvoření obrazu, zatímco PVA je typ TFT LCD. Hlavním rozdílem mezi LCD a PVA je, že LCD je typ panelu displeje, který používá tekuté krystaly pro vytváření obrazu, zatímco PVA (modelovaná vertikální zarovnání) je typ LCD. Displeje LCD (Liquid Crystal
  • populární srovnání: Rozdíl mezi vesmírem a sluneční soustavou

    Rozdíl mezi vesmírem a sluneční soustavou

    Klíčový rozdíl: Vesmír se vztahuje na vše, co existuje, včetně prostoru a temné hmoty. Nejmenší část písku je také součástí vesmíru a podobně největší galaxie tvoří také část vesmíru. Sluneční soustava je systém, ve kterém se kolem hvězdy otáčejí planety a další prostorové objekty. Naše sluneční soustava se skládá ze Sl
  • populární srovnání: Rozdíl mezi pamětí RAM a CPU

    Rozdíl mezi pamětí RAM a CPU

    Klíčový rozdíl: paměť RAM je zařízení pro ukládání primárních dat, které uchovává data, která počítač vyžaduje pro provádění operací. Je součástí hardwaru, který ukládá aplikační programy operačního systému a aktuálně spuštěné procesy. CPU, na druhé straně, je hardware v počítači, který provádí instrukce z počítačového programu. Paměť Random Access (RAM) a Centrální procesorová je

Redakce Choice

Rozdíl mezi předměstími a předměstími

Klíčový rozdíl: Předměstí jsou části města, které spadají mimo městskou část. Předměstí se běžně používá pouze jako obytná oblast a často hostí jen málo podniků, pokud vůbec vůbec. Na okraji města se často označuje oblast, do níž se město připojuje. Často se nacházejí daleko od centra města. Termíny předměstí a předměstí se zdají b