Skillnad mellan Recursion och Iteration

Huvudskillnad: Vid programmering kan rekursionen förklaras genom att man beaktar en rekursiv funktion. En rekursiv funktion är en som kallar sig igen för att upprepa koden. Å andra sidan uppnås iteration med en iterativ funktion som slingrar för att upprepa någon del av koden.

I programmering används både rekursion och iteration för att uppnå repetitioner. De hänvisar till en process som upprepas flera gånger. Rekursion bygger på ett tillvägagångssätt där något hänvisar till sig själv tills ett villkor är uppfyllt. En metod sägs vara rekursiv om den kan kalla sig direkt eller indirekt som -

tomt namn ()

{

... namn() ...

}

eller

tomt namn ()

{

... spel () ...

}

tomrumsspel () {

... namn() ...

}

För en lyckad rekursion måste man komma ihåg att varje samtal som gjorts i rekursionsprocessen måste förenkla beräkningen. Rekursion uppnås genom att definiera ett basfall.

int factorial (int N)

{

om (N == 0) returnera 1;

återvända annars (N * faktorial (N-1));

}

I det här exemplet kan rekursionen lätt ses i uttalandet (N * Factorial (N-1)), där det kallar den faktoriella funktionen igen. Rekursion är väldigt hjälpsam eftersom det hjälper till att förkorta koden. Rekursionen är dock lite långsam i prestanda.

Iteration är baserad på slingor. Dessa loopar avser explicit iterationsprocesser. För att uppfylla kravet på en slinga måste det ha någon typ av kriterier som hindrar ytterligare iteration. Om lopptillståndstestet aldrig blir falskt, då är förekomsten av en oändlig sling i det tillståndet oundvikligt. I det här exemplet bestäms faktorn genom att använda iterationsprocessen -

funktion faktoriell (n)

{

var loop, resultat;

resultat = 1;

för (slinga = 1; loop <= n; loop ++)

{

resultat = resultat * loop;

}

returresultat;

}

I detta exempel uppnås looping genom att använda heltal från 1 till n, och loop <= n-satsen används som ett kriterium för att stoppa ytterligare loopning. Således kan vi dra slutsatsen att samma resultat kan uppnås genom att använda en rekursion och iteration. De bygger dock båda på metoder som är lite annorlunda. Eventuell rekursiv algoritm kan också skrivas med hjälp av iterationer (loopar).

Jämförelse mellan rekursion och återuppvärmning:

Rekursion

Iteration

Definition

Recursion refererar till en rekursiv funktion där den kallar sig igen för att upprepa koden.

Iteration uppnås genom en iterativ funktion som slingrar för att upprepa en del av koden.

Viktig poäng

Ett basfall måste bestämmas

Ett uppsägningstillstånd måste bestämmas

Prestanda

Jämförelsevis långsam

Jämförelsevis snabb

Minnesanvändning

Jämförbart mer

Jämförelsevis mindre

Koda

Mindre

längre

Oändlig upprepning

Oändlig recursion kan krascha systemet

Oändlig looping förbrukar CPU-cyklerna flera gånger

Strukturera

Urval

Upprepning

Lokala variabler

Krävs inte

Nödvändig

Rekommenderas

Relaterade Artiklar

  • skillnad mellan: Skillnad mellan Full Moon och New Moon

    Skillnad mellan Full Moon och New Moon

    Huvudskillnad: En ny måne uppträder när månen är mellan jorden och solen. En fullmåne uppstår när månen är på jordens andra sida från solen. Samtidigt har vi alla sett en fullmåne och en nymåne, förutom de andra olika månfaserna, kanske vissa inte vet varför eller hur det händer. Månen är ju alltid där, rätt, så hur kommer vi bara att se en del av det? Låt oss först se vad
  • skillnad mellan: Skillnad mellan JPEG och GIF

    Skillnad mellan JPEG och GIF

    Huvudskillnad: JPEG står för Joint Photographic Expert Group. Filnamnet för en JPEG-bild är .jpg eller .jpeg. JPEG är det vanligaste formatet för fotografier. GIF står för Graphics Interchange Format. Filnamnet som används för en GIF-fil är .gif eller .GIF. GIF är ett format som huvudsakligen används för grafiska bilder. Både JPEG oc
  • skillnad mellan: Skillnad mellan iPhone 6 och iPhone Air

    Skillnad mellan iPhone 6 och iPhone Air

    Huvudskillnad: iPhone Air var kodenavnet som gavs till rykten nästa generations iPhone. I september 2014 meddelade Apple Inc. de två senaste telefonerna i sin line-up: iPhone 6 och iPhone 6 Plus. Inte bara är dessa de senaste telefonerna, det här är också de största iPhonesna hittills. IPhone är en av de mest eftertraktade telefonerna idag. Männis
  • skillnad mellan: Skillnad mellan Debet och Credit

    Skillnad mellan Debet och Credit

    Huvudskillnad: I finansiell bokföring eller bokföring är "Dr" (Debit) den vänstra sidan av ett huvudkonto eller när något har dras av från kontot medan "Cr" (Kredit) är högra sidan av ett huvudkonto när något har lagts till. Varje debet transaktion måste ha en motsvarande kredit transaktion och vice versa. Debet och
  • skillnad mellan: Skillnad mellan XOLO Q800 och XOLO X1000

    Skillnad mellan XOLO Q800 och XOLO X1000

    Huvudskillnad: Xolo Q800 är en Quad-core 1.2 GHz smartphone som drivs av MTK MT6589 och en 1 GB RAM. Telefonen körs på Android 4.1 (Jelly Bean). Den har en 4, 5 tums skärm med en upplösning på 540 x 960 pixlar. Innan Q800 var det XOLO X1000, en Intel-baserad smartphone. XOLO x1000 körs på en kärn Intel Atom Processor Z2480. Den har
  • skillnad mellan: Skillnad mellan Crunches och Sit-ups

    Skillnad mellan Crunches och Sit-ups

    Huvudskillnad : Crunches och sit-ups är både vanliga mageövningar. En sit-up är en styrketräning som stärker höftböjarna och bukmusklerna, förutom bröst-, nacke-, rygg- och benkroppar. En crunch, å andra sidan, betraktas som en halv sitta upp. Det utövar endast bukmusklerna. Crunches och sit-ups är både vanliga mageövningar. Problemet med
  • skillnad mellan: Skillnad mellan Asus FonePad och Micromax A116 Canvas HD

    Skillnad mellan Asus FonePad och Micromax A116 Canvas HD

    Huvudskillnad: Asus har meddelat lanseringen av nyaste phablet, Asus Fonepad. Fonepad är en 7-tums Android-tablett som gör det möjligt för användare att ringa telefonsamtal genom att placera enheten på örat. Fableten har en 7-tums IPS LED-bakgrundsbelyst pekskärm som tillåter multitouch-kapacitet för upp till 10 personer. Skärmen
  • skillnad mellan: Skillnad mellan Samsung Galaxy S5 och iPhone 5S

    Skillnad mellan Samsung Galaxy S5 och iPhone 5S

    Huvudskillnad: iPhones använder Apples iOS, medan Samsung baserar sina telefoner på Googles Android. Dessutom är Samsung Galaxy S5 damm och vattentålig, erbjuder trådlös laddning, har uppgraderat till USB 3.0, har NFC och en pulsmätare som parar med en uppdaterad S Health app. Samsung och Apple är de två ledande konkurrenterna som styr smarttelefonindustrin. Medan d
  • skillnad mellan: Skillnad mellan coaching och mentorskap

    Skillnad mellan coaching och mentorskap

    Huvudskillnad: Coaching och mentorskap är två liknande utvecklingstekniker som vanligtvis används på jobbet för att förbättra individens prestanda och kompetens. Coaching är ofta på kort sikt, medan mentorskap tenderar att vara en pågående process. Coaching är inriktad på att uppnå specifika kunskaper och mål, medan mentorskap täcker ett brett scenario relaterat till en individ, där den fokuserar på både professionella och personliga frågor. Coaching och mento

Redaktionen

Skillnad mellan jeans och chinos

Huvudskillnad : Jeans och Chinos är båda kläderna som skiljer sig åt i det sätt de är gjorda. Jeans är gjorda av ett tungt tygduk, medan Chinos är gjorda med hjälp av ett tyg av lättare twill. Jeans och chinos har kommit för att definiera stilutlåtandet för stadsbefolkningar över hela världen. Ingen gardero