Verschil tussen recursie en iteratie

Belangrijkste verschil: tijdens het programmeren kan recursie worden verklaard door een recursieve functie te beschouwen. Een recursieve functie is een functie die zichzelf opnieuw oproept om de code te herhalen. Aan de andere kant wordt iteratie bereikt door een iteratieve functie die wordt herhaald om een ​​deel van de code te herhalen.

Bij het programmeren worden recursie en iteratie beide gebruikt om herhalingen te bereiken. Ze verwijzen naar een proces dat verschillende keren wordt herhaald. Recursie is gebaseerd op een benadering waarin iets naar zichzelf verwijst totdat aan een voorwaarde is voldaan. Een methode wordt recursief genoemd als deze zichzelf direct of indirect kan noemen zoals -

ongeldige naam ()

{

... naam() ...

}

of

ongeldige naam ()

{

... game () ...

}

void game () {

... naam() ...

}

Voor een succesvolle recursie moet men in gedachten houden dat elke oproep die tijdens het recursieproces wordt gedaan de berekening moet vereenvoudigen. Recursie wordt bereikt door een basissituatie te definiëren.

int-factorieel (int N)

{

als (N == 0) return 1;

else return (N * faculteit (N-1));

}

In dit voorbeeld is recursie eenvoudig te zien in de instructie (N * faculteit (N-1)), waar deze de faculteit-functie weer aanroept. Recursie is erg nuttig omdat het helpt bij het verkorten van de code. De recursie werkt echter een beetje traag.

Iteratie is gebaseerd op lussen. Deze lussen verwijzen naar expliciete iteratieprocessen. Om aan de eis van een lus te voldoen, moet deze een bepaald type criteria hebben dat verdere iteratie stopt. Als de lusconditietest echter nooit onwaar wordt, is in die toestand het optreden van een oneindige lus onvermijdelijk. In dit voorbeeld wordt faculteit bepaald door het iteratieproces te gebruiken -

functie factorie (n)

{

var-lus, resultaat;

resultaat = 1;

voor (loop = 1; lus <= n; lus ++)

{

resultaat = resultaat * loop;

}

terugkeer resultaat;

}

In dit voorbeeld wordt lusvorming bereikt door gehele getallen van 1 tot n te gebruiken, en lus <= n-instructie wordt gebruikt als een criterium om verder lussen te stoppen. We kunnen dus concluderen dat dezelfde resultaten kunnen worden bereikt door een recursie en iteratie te gebruiken. Ze zijn echter allebei gebaseerd op benaderingen die een beetje anders zijn. Elk recursief algoritme kan ook worden geschreven met behulp van iteraties (loops).

Vergelijking tussen recursie en iteratie:

Herhaling

herhaling

Definitie

Recursie verwijst naar een recursieve functie waarin deze zichzelf opnieuw oproept om de code te herhalen.

Iteratie wordt bereikt door een iteratieve functie die wordt herhaald om een ​​deel van de code te herhalen.

Belangrijk punt

Er moet een basisgeval worden bepaald

Een beëindigingsvoorwaarde moet worden bepaald

Prestatie

Relatief traag

Relatief snel

Geheugengebruik

Relatief meer

Relatief minder

Code

Kleiner

Langer

Oneindige herhaling

Oneindige recursie kan het systeem laten crashen

Oneindige lus verbruikt CPU-cycli herhaaldelijk

Structuur

Selectie

Herhaling

Lokale variabelen

Niet verplicht

Verplicht

Aanbevolen

Gerelateerde Artikelen

  • populaire vergelijkingen: Verschil tussen basisspringen en Bungee Jumping

    Verschil tussen basisspringen en Bungee Jumping

    Belangrijk verschil: Basis en Bungeejumpen zijn extreme sporten, waarbij een sprong wordt genomen vanaf een respectievelijke hoogte. Een basissprong wordt uitgevoerd vanuit een vaste positie met behulp van een parachute; terwijl een bungee-sprong wordt uitgevoerd vanaf een vast of een beweegbaar object, zonder het gebruik van een parachute
  • populaire vergelijkingen: Verschil tussen vlees en kip

    Verschil tussen vlees en kip

    Belangrijk verschil : vlees is een algemene term voor vlees van dieren, terwijl kip een veel voorkomend type pluimvee is dat wordt verkregen van vogels. Mensen zijn omnivoor van aard, en staan ​​erom bekend dat ze sinds de prehistorie genieten van hun vlees, gevogelte, vis, enz. Vlees en kip, rijk aan eiwitten, zijn populair en worden vaak geconsumeerd door mensen over de hele wereld. Ho
  • populaire vergelijkingen: Het verschil tussen Nanny en Maid

    Het verschil tussen Nanny en Maid

    Belangrijkste verschil: Nanny verwijst naar een persoon die wordt aangenomen om voor de kinderen in een huishouden te zorgen. Een oppas is meestal een getrainde vrouw. Een meid is iemand die in dienst is bij de huishoudelijke klusjes. Een meid is altijd een vrouw. Nanny verwijst naar een persoon die wordt aangenomen om voor de kinderen in een huishouden te zorgen
  • populaire vergelijkingen: Verschil tussen autobiografie en biografie

    Verschil tussen autobiografie en biografie

    Belangrijk verschil: een biografie is een gedetailleerd non-fictief verslag van iemands leven. Het is een overzicht van het leven van de persoon, inclusief de basisfeiten zoals opleiding, werk, relaties en overlijden en de ervaringen van de persoon met deze gebeurtenissen. Een autobiografie is een biografie die door het subject zelf is geschreven
  • populaire vergelijkingen: Verschil tussen kleur en kleur

    Verschil tussen kleur en kleur

    Belangrijkste verschil: kleur en kleur bepalen hetzelfde. Er is geen verschil tussen de twee. Kleur wordt gebruikt in Brits Engels, terwijl kleur wordt gebruikt in Amerikaans Engels. Ze verwijzen naar het uiterlijk van de dingen die het gevolg waren van de manier waarop ze licht reflecteren. Sommige van de kleuren / kleuren zijn rood, oranje, blauw, roze en wit
  • populaire vergelijkingen: Verschil tussen Hulu Plus en Netflix

    Verschil tussen Hulu Plus en Netflix

    Belangrijkste verschil: Hulu Plus is een website die video-steaming op verzoek en door advertenties ondersteunt. Overwegende dat Netflix is ​​een on-demand video-streaming website en het heeft geen advertenties. Hulu Plus is een betaalde service aangeboden door Hulu. Het heeft meer functies dan Hulu.com
  • populaire vergelijkingen: Verschil tussen MSI en EXE

    Verschil tussen MSI en EXE

    Belangrijkste verschil: een MSI-bestand is een uitvoerbaar bestand dat wordt gebruikt voor de installatie, het onderhoud en de verwijdering van software op moderne Microsoft Windows-systemen. Een EXE-bestand is een afkorting van 'executable' en heeft de extensie .exe. Het belangrijkste doel van een uitvoerbaar bestand is om bestanden te installeren of uit te voeren die al op de computer zijn geïnstalleerd.
  • populaire vergelijkingen: Verschil tussen alcoholische en sociale drinker

    Verschil tussen alcoholische en sociale drinker

    Belangrijk verschil : alcoholist is een persoon die aan alcoholisme lijdt. Een sociale drinker is iemand die alcohol drinkt in gezelschap van anderen en controle heeft over zijn of haar drinken. Alcoholisten, alcoholisme en sociaal drinken zijn andere termen gerelateerd aan alcohol. Zowel alcoholisten als een sociale drinker drinken alcohol zoals ze willen
  • populaire vergelijkingen: Verschil tussen liposuctie en Smartlipo

    Verschil tussen liposuctie en Smartlipo

    Belangrijk verschil: liposuctie is een operatie die wordt uitgevoerd om het extra vet uit het lichaam te verwijderen, terwijl; smartlipo is een lasertechniek van liposuctie. Volgens Wikipedia: "Liposuctie is ook bekend als '' lipoplasty '' ('vetmodellering'), dat 'liposculptuur' '' '' zuiglipectomie '', wat zuigonderdrukking met vet verwijderen betekent, invented

Editor'S Choice

Verschil tussen NiMH en mAh-batterijen

Belangrijk verschil: NiMH is een type oplaadbare batterij. mAh is de berekening van de energie die door de batterij kan worden geleverd. NiMH en mAh zijn beide termen die het meest frequent worden gebruikt met batterijen, met name oplaadbare batterijen. Oplaadbare batterijen zijn een uitstekend en economisch alternatief geworden voor het gebruik van standaard batterijen voor eenmalig gebruik, omdat ze tot 1000 keer kunnen worden opgeladen voordat ze moeten worden vervangen