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 dravcem a kořistí

    Rozdíl mezi dravcem a kořistí

    Klíčový rozdíl: lovec dravců Prey. Dravce je zvíře, které loví další zvířata; zatímco kořist je zvíře, které je loveno jiným zvířetem. Obě z těchto zvířat jsou nezbytné pro zachování ekologické rovnováhy Země. Predátor a kořist se v podstatě týká lovu a útočení zvířete. Dravci jsou ti, kteří honí další zvířat
  • rozdíl mezi: Rozdíl mezi Sony Xperia SP a Xperia T

    Rozdíl mezi Sony Xperia SP a Xperia T

    Klíčový rozdíl: Xperia SP je 4, 6palcový TFT kapacitní dotykový telefon, který je zabalen v celohliníkovém těle. Má tloušťku menší než 10 mm a váží přibližně 155 gramů. Sony Xperia T je další model Sony, který byl propuštěn v srpnu 2012. Byl jedním z prvních modelů, které Sony vydala po rozpadu s Ericsson. Je to první smartphone společno
  • rozdíl mezi: Rozdíl mezi rajčaty a cherry rajčaty

    Rozdíl mezi rajčaty a cherry rajčaty

    Klíčový rozdíl : Klíčový rozdíl mezi rajčaty a třešňovými rajčaty je, že první je větší než druhá. Přesto existuje několik dalších rozdílů na základě jejich chuti, využití a přínosů pro zdraví. Jsou zralé, červené, zelené nebo žluté barvy, mají chutnou chuť, jsou velmi šťavnaté a jsou široce používány při vaření pokrmů po celý kulinářský svět. Přesto mohou vypadat jako zelenina na normální oko, ale j
  • rozdíl mezi: Rozdíl mezi technologiemi Lenovo IdeaPad Yoga 11 a Sony Xperia Z Tab

    Rozdíl mezi technologiemi Lenovo IdeaPad Yoga 11 a Sony Xperia Z Tab

    Hlavní rozdíl: Jedinečným aspektem Lenovo IdeaPad Yoga 11 je, že jde o konvertibilní notebook s multi-mode 360 ​​° Flip designem. Umožňuje zařízení přijmout čtyři režimy návrhu. To zahrnuje režim notebooku, režim Tablet, režim stanu a konečně režim Stand. Lenovo IdeaPad Yoga 11 má 11, 6 palcový displej s vysokým rozlišením a váží 1, 27 kg. Je napájen procesorem NVIDIA Tegr
  • rozdíl mezi: Rozdíl mezi jazyky HTML5 a Flash

    Rozdíl mezi jazyky HTML5 a Flash

    Hlavní rozdíl: HTML5 je pátá revize standardu HTML. HTML znamená HyperText Markup Language. Jedná se o dobře známý značkový jazyk používaný k vývoji webových stránek. Jádrem HTML5 bylo zlepšit jazyk s podporou nejnovějších multimédií. Adobe Flash je multimediální a softwarová platforma, která se používá hlavně pro vytváření vektorové grafiky, animace, her a Rich Internet Applications (RIA). Tyto RIA lze přehrávat v přehrávač
  • rozdíl mezi: Rozdíl mezi tepnou a žilou

    Rozdíl mezi tepnou a žilou

    Hlavní rozdíl: Hlavním rozdílem mezi tepnou a žilou je, že tepny jsou krevní cévy, které odvádějí krev od srdce, zatímco žíly jsou krevní cévy, které přenášejí krev do krve. Arterie a žíly jsou dva různé typy cév, které pomáhají nosit krev v těle. Oba jsou součástí oběhového systému, který je zodpovědný za krevní oběh v těle. Oběhový systém je jedním z nejdůležitější
  • rozdíl mezi: Rozdíl mezi intranetou a extranetem

    Rozdíl mezi intranetou a extranetem

    Klíčový rozdíl: Hlavní rozdíl mezi intranetem a extranetem je to, že intranet je síť, která je omezena pro použití v organizacích počítačů, zatímco extranet je rozšířením intranetu společnosti. Extranet zpřístupní některé informace intranetu osobám, které nejsou přímo připojeny k intranetu. Intranet je interní síť. Použív
  • 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
  • rozdíl mezi: Rozdíl mezi moderním a současným uměním

    Rozdíl mezi moderním a současným uměním

    Klíčový rozdíl: Moderní umění se týká uměleckých děl vytvořených v období od 80. let 20. století až do konce 70. let. Současné umění vychází z moderního umění od počátku 70. let až po současnost. Moderní umění a současné umění jsou dvěma odlišnými obdobími umění v uměleckém hnutí. V podstatě hlavní rozdíl mezi těmito dvěma v

Redakce Choice

Rozdíl mezi péčí o děti a děti

Klíčový rozdíl: Předškolní zařízení znamená zasvěcení dětí ve věku od tří do pěti let základům základního vzdělání. Péče o děti znamená pečovat o dítě a doprovázet ho různými zábavnými aktivitami, jako je hrát hry, hrát s hračkami apod., Bez rodičů nebo opatrovníků. Předškolní zařízení se zaměřuje na základy