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 motivem a názvem

    Rozdíl mezi motivem a názvem

    Klíčový rozdíl: Klíčový rozdíl mezi podstatnými jmény, tématem a názvem je, že téma označuje hlavní předmět, kolem kterého bude autor či mluvit, a titul je jako název knihy nebo dává příponu nebo předponu jména osoby s čestným nebo pozice nebo označení osoby při používání slova jako slovesa. Například téma článku může být Gen
  • rozdíl mezi: Rozdíl mezi tolerancí a nesnášenlivostí

    Rozdíl mezi tolerancí a nesnášenlivostí

    Klíčový rozdíl: Tolerance znamená být schopen dovolit a přijmout existenci něčeho, co se liší od vašeho přesvědčení či názorů. Nejčastěji se termín používá v kontextu náboženských nebo politických přesvědčení. Nesnášenlivost je, když lidé nemohou přijímat názory, přesvědčení nebo chování, které se liší od jejich vlastních. Termíny tolerance a nesnášenlivost jsou často po
  • rozdíl mezi: Rozdíl mezi pravidly a nařízeními

    Rozdíl mezi pravidly a nařízeními

    Klíčový rozdíl: pravidla jsou pokyny, které jsou poskytovány k udržení hladkého fungování organizace a k udržení míru a harmonie mezi jejími lidmi. Pravidla jsou také neformální sadu pokynů, která uvádějí, co člověk musí a nesmí dělat. Předpisy mohou být použity definovat dvě věci; proces sledování a prosazování právních předpisů a písemný nástroj obsahující pravidla, která mají zákony o nich. Pravidla a předpisy jsou důležité pojmy, které
  • rozdíl mezi: Rozdíl mezi Ebola a Dengue

    Rozdíl mezi Ebola a Dengue

    Klíčový rozdíl: Virus Ebola pojmenovaný pro řeku Ebola se přenáší hlavně v kontaktu s krví nebo jinými tělesnými tekutinami infikovaných lidí nebo jiných zvířat. Dengue, na druhé straně, je převážně přenášen skusem komára. Ebola zabije 25% až 90% lidí, kteří infikuje, zatímco pouze u méně než 5% lidí infikovaných horečkou Dengue hrozí riziko úmrtí. Ebola a Dengue jsou dvě vážná onemocnění,
  • rozdíl mezi: Rozdíl mezi Selfie a Groupie

    Rozdíl mezi Selfie a Groupie

    Klíčový rozdíl: Selfie je situace, kdy člověk, který pořídil fotografii sami pomocí kamery nebo telefonu a zveřejní jej na webových stránkách sociálních médií. Groupie je, když osoba, která se sami sebe fotografuje s jinými lidmi pomocí fotoaparátu telefonu a zveřejní jej na webových stránkách sociálních médií. Z populárního hashtag na jméno
  • rozdíl mezi: Rozdíl mezi vyčištěním disku a defragmentací disku

    Rozdíl mezi vyčištěním disku a defragmentací disku

    Rozdíl mezi klíčem: Vyčištění disku pomáhá uživatelům odstraňovat zbytečné soubory v počítači, které mohou na pevném disku zabírat místo. Disk Defragmenter je nástroj nabízený v systému Microsoft Windows, který přeskupuje soubory na disku a zabírá nepřetržitý úložný prostor. Čím déle je počítač v provozu, tí
  • rozdíl mezi: Rozdíl mezi Samsung Galaxy Mega 5.8 a Samsung Galaxy Tab 2 7.0

    Rozdíl mezi Samsung Galaxy Mega 5.8 a Samsung Galaxy Tab 2 7.0

    Hlavní rozdíl: společnost Samsung nyní rozšířila své nabídky v kategorii phablet tím, že představila Samsung Galaxy Mega 5.8 a Samsung Galaxy Mega 6.3. Samsung Galaxy Mega 5.8 je pojmenován tak, protože jeho 5, 8 palcový TFT kapacitní dotykový displej, s rozlišením 540 x 960 pixelů. Telefon je napájen
  • rozdíl mezi: Rozdíl mezi hry Commonwealthu a Olympijskými hrami

    Rozdíl mezi hry Commonwealthu a Olympijskými hrami

    Klíčový rozdíl: Hlavním rozdílem mezi těmito dvěma je to, že v olympijských hrách soutěží země z celého světa, zatímco v hrách Commonwealthu soutěží pouze země, které jsou součástí společenství národů. Hry společenství a olympijské hry jsou dvě rozdílné hry, ve kterých země z celého světa soutěží o medaile a získávají pozornost. Nicméně, obě hry nejsou přesně stejné, ve sku
  • rozdíl mezi: Rozdíl mezi P Trap a S Trap

    Rozdíl mezi P Trap a S Trap

    Klíčový rozdíl: P Trap a S Trap a dva různé typy lapačů používaných v potrubí. Pasti jsou typy trubek, které používají vodu k zastavení úniku kanalizačních plynů. Svazek ohybu S má tvar S, zatímco ohyb U má tvar U a ohyb P má tvar P. P Trap a S Trap a dva různé typy pasti používaných v potrubí. Pasti jsou typy trubek, které

Redakce Choice

Rozdíl mezi kukuřicí a popcornem

Klíčový rozdíl: Kukuřice především znamená kukuřici, která se používá mezi severoameričany. Kukuřice se sklízí, když jádra mají nejvyšší cit. Popcornové jádra jsou v horní části odlíšeny tvrdou skořápkou, která je velmi měkká se střediskem škrobu. Kukuřice, také známá jako kukuřice, se používá mezi severoameričany. To bylo odvozeno od germánského slova "k