en funktion som anropar sig är känd som en rekursiv funktion. Och denna teknik är känd som rekursion.

hur rekursion fungerar?

void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}

rekursionen fortsätter tills något villkor är uppfyllt för att förhindra det.

för att förhindra oändlig rekursion, om…else-uttalande (eller liknande tillvägagångssätt) kan användas där en gren gör det rekursiva samtalet, och andra gör det inte.,

exempel: summan av naturliga tal som använder rekursion

utgång

Enter a positive integer:3sum = 6

inledningsvis anropas sum() från funktionen main() med numret godkänt som argument.

Antag att värdet på n inutisum() är 3 initialt. Under nästa funktionsanrop skickas 2 till funktionen sum(). Denna process fortsätter tills n är lika med 0.,

När n är lika med 0 körsif – villkoret ochelse – delen Returnerar summan av heltal tillmain() – funktionen.

fördelar och nackdelar med rekursion

rekursion gör programmet elegant. Men om prestanda är avgörande, använd slingor istället som rekursion är vanligtvis mycket långsammare.

med detta sagt är rekursion ett viktigt begrepp. Det används ofta i datastruktur och algoritmer., Det är till exempel vanligt att använda rekursion i problem som trädtraversal.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *