Rozdiel medzi rekurziou a iteraciou

Kľúčový rozdiel: V programovaní možno rekurziu vysvetliť zvažovaním rekurzívnej funkcie. Rekurzívna funkcia je taká, ktorá opakovane vyzýva na opakovanie kódu. Na druhej strane iterácia je dosiahnutá iteračnou funkciou, ktorá opakuje určitú časť kódu.

Pri programovaní sa rekurzia a iterácia používajú na dosiahnutie opakovania. Odkazujú na proces, ktorý sa opakuje niekoľkokrát. Rekurzia je založená na prístupe, v ktorom sa niečo vzťahuje na seba, kým nie je splnená podmienka. Metóda sa považuje za rekurzívnu, ak sa môže priamo alebo nepriamo nazývať -

neplatné meno ()

{

... názov() ...

}

alebo

neplatné meno ()

{

... hra() ...

}

prázdna hra () {

... názov() ...

}

Pre úspešnú rekurziu je potrebné mať na pamäti, že každý hovor uskutočnený v procese rekurzie musí zjednodušiť výpočet. Rekurzia sa dosiahne definovaním základného prípadu.

int faktorial (int N)

{

ak (N == 0) vráti 1;

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

}

V tomto príklade možno rekurziu ľahko vidieť vo výkaze (N * factorial (N-1)), kde sa volá faktoriálna funkcia znova. Rekurzia je veľmi užitočná, pretože pomáha pri skrátení kódu. Rekurzia je však trochu pomalá.

Iterácia je založená na slučkách. Tieto slučky sa vzťahujú na explicitné iteračné procesy. Ak spĺňa požiadavku slučky, musí mať určitý typ kritérií, ktoré zastavia ďalšiu opakovanie. Ak sa však skúška stavu slučky nikdy nestane falošnou, potom v takomto stave je výskyt nekonečnej slučky nevyhnutelný. V tomto príklade sa faktoriál určuje pomocou iterácie -

funkčný faktoriál (n)

{

var loop, výsledok;

výsledok = 1;

pre (loop = 1, slučka <= n, slučka ++)

{

výsledok = výsledok * slučka;

}

výsledok návratu;

}

V tomto príklade je slučkovanie dosiahnuté použitím celých čísiel od 1 do n a ako príklad pre zastavenie ďalšieho cyklu sa použije smyčka <= n. Môžeme teda dospieť k záveru, že rovnaké výsledky možno dosiahnuť použitím rekurzie a iterácie. Obe strany sú však založené na prístupoch, ktoré sú trochu iné. Každý rekurzívny algoritmus môže byť tiež napísaný pomocou iterácií (slučiek).

Porovnanie medzi opakovaním a opakovaním:

rekurzia

opakovanie

definícia

Rekurzia sa vzťahuje na rekurzívnu funkciu, v ktorej sa opakovane vyzýva na opakovanie kódu.

Iterácia je dosiahnutá iteračnou funkciou, ktorá slučky opakuje niektorú časť kódu.

Dôležitý bod

Musí sa určiť základný prípad

Musí sa určiť koncový stav

výkon

Porovnateľne pomalé

Porovnateľne rýchlo

Využitie pamäte

Porovnateľne viac

Porovnateľne menej

kód

menšie

Dlhšie

Nekonečné opakovanie

Nekonečná rekurzia je schopná zničiť systém

Nekonečné cyklické cykly opakovane spotrebúvajú cykly CPU

štruktúra

výber

opakovanie

Miestne premenné

Nevyžaduje sa

Požadovaný

Odporúčaná

Súvisiace Články

  • populárne porovnania: Rozdiel medzi výtvarným umením a herectvom

    Rozdiel medzi výtvarným umením a herectvom

    Kľúčový rozdiel: Umenie môže byť definované ako široká škála ľudských aktivít a produktov týchto aktivít. Kým existujú rôzne kategórie umenia, dve populárne známe kategórie sú výtvarné umenie a divadelné umenie. Výtvarné umenie je typ umenia, ktoré bolo vytvorené tak, aby bolo vizuálne a esteticky atraktívne. Múzické umenie, na druhej strane
  • populárne porovnania: Rozdiel medzi maslom a margarínom

    Rozdiel medzi maslom a margarínom

    Kľúčový rozdiel: Mlieko je mliečny výrobok, ktorý sa vyrába spracovaním kravského mlieka. Margarín sa pripravuje umelo použitím extrakcie rastlinného oleja a techniky vizualizácie vodíkových bublín. Maslo je vyrobené zo smotany, ktorá sa vytvorí, kým mlieko dosiahne svoj bod varu. Krém je mäkká vrstva
  • populárne porovnania: Rozdiel medzi LAN a MAN

    Rozdiel medzi LAN a MAN

    Rozdiel kľúčov: LAN znamená lokálnu sieť. Je to počítačová sieť, ktorá prepája počítače v malej oblasti, napríklad v administratívnej budove alebo v škole. Na druhej strane, MAN znamená Metropolitan Area Network. Je to počítačová sieť, ktorá prepája počítač v meste alebo vo veľkom areáli. MAN môže byť definovaný ako ra
  • populárne porovnania: Rozdiel medzi Blackhead a Pimple

    Rozdiel medzi Blackhead a Pimple

    Hlavný rozdiel: Čierna hlava vyzerá ako vložená čierna kapsička na koži. Niektoré čierne čiapočky však môžu mať nažltnutú farbu. Pizzeria sa objaví ako náraz na kožu, ktorá vyzerá červene a opuchnutá. Blackheads a pupienky sú bežnými príkladmi akné. Akné, tiež známe ako cystické akné alebo akné vulgaris, je bežný stav kože, ktorý môže postihnúť dospievajúcich, dospelých aj detí. Okrem čiernych hláv a škvŕn je známe, že akné
  • populárne porovnania: Rozdiel medzi SMS a IM

    Rozdiel medzi SMS a IM

    Kľúčový rozdiel: SMS posiela telefón do telefónu. Správca okamžitých správ odošle správy z počítača do počítača cez internet. SMS a IM sú populárne spôsoby komunikácie. Obaja umožňujú posielanie správ inej osobe. Služba SMS slúži ako služba krátkych správ, služba textových správ, ktorá umožňuje používateľovi posielať malú správu z telefónu na iný telefón. Služba IM alebo Internet Messaging je služba
  • populárne porovnania: Rozdiel medzi jogurtom a Dahiom

    Rozdiel medzi jogurtom a Dahiom

    Hlavný rozdiel: Odvodené v podobných štýloch, Jogurt a Dahi sú mliečne výrobky, ktoré sa používajú a konzumujú v širokom meradle. Pozoruhodný rozdiel medzi týmito dvoma je, že jogurt je pripravený pasterizujúcim mliekom, zatiaľ čo Dahi je pripravený varením mlieka, potom ochladením na izbovú teplotu a nakoniec pridávaním jemného kyslého tvarohu z predchádzajúceho dňa. Jogurt je mliečny výrobok, kto
  • populárne porovnania: Rozdiel medzi Pronounom a správnym podstatným menom

    Rozdiel medzi Pronounom a správnym podstatným menom

    Kľúčový rozdiel: Zámeno je slovo, ktoré sa používa na nahrádzanie podstatného mena vo vete. Vlastné podstatné mená sú mená konkrétnych subjektov, ako sú mená ľudí, miest atď. Záujmy sú veľmi vynaliezavým nástrojom na ľahkú konštrukciu viet v anglickom jazyku. Záujmy sú v podstate slová, ktoré slúžia na označenie podstatného mena, ktoré už bolo uvedené v texte. Viacnásobné používanie mien osôb, mies
  • populárne porovnania: Rozdiel medzi manželstvom a svadbou

    Rozdiel medzi manželstvom a svadbou

    Kľúčový rozdiel: Manželstvo sa vzťahuje na spojenie dvoch osôb, ktoré sú formálne uznané zákonom. Definuje formálny záväzok medzi párom. Svadba je spoločenská udalosť oslavujúca príležitosť manželstva. Na tomto podujatí sa uskutoční obrad manželstva. Manželstvá sú medzi životne dôležitými rituálmi spoločnosti. Manželstvo je úzke spojenie dvoch o
  • populárne porovnania: Rozdiel medzi High Heel, Stiletto a Pumps

    Rozdiel medzi High Heel, Stiletto a Pumps

    Hlavný rozdiel: Vysoká podpätka, Stiletto a Pumps sú trendová dámska obuv, zvyčajne preferovaná podľa príležitosti a miesta. Jedná sa o typy topánok s vysokým podpätkom, ktoré sa líšia vzormi a štruktúrami, tj vysoká päta je typ topánky s pätou normálnej výšky, zatiaľ čo Stiletto má vyššiu náklonnosť v porovnaní s inými topánkami na päte, zatiaľ čo čerpadlo je topánka, ktorá pokrýva predné prsty. Topánky s vysokým podpätkom, Stiletto a Pum

Redakcia Choice

Rozdiel medzi zdravotným postihnutím a poruchou

Hlavný rozdiel : zdravotné postihnutie je zranenie, ktoré obmedzuje funkcie alebo pohyby osoby. Porucha je choroba, ktorá spôsobuje narušenie funkcií osoby. Postihnutie je dôsledkom poškodenia spôsobeného človeku. Ide v podstate o zdravotný stav, ktorý neumožňuje osobe fungovať normálnym spôsobom. Zdravotné postihn