Skip to main content

Hvad er en hale rekursion?

Hale rekursion er en type programmeringsmetodeopkald, hvor en metode kalder sig selv, og returnerer derefter straks værdien af det andet opkald.Med andre ord forekommer halehalsekursion, når den endelige erklæring inden for en metode er et andet opkald til den samme metode.Parametrene i det andet metodeopkald er generelt forskellige fra de første, men dette er ikke påkrævet.For at denne rekursion kan fungere, skal den metode, der kaldes i sig selv, returnere en konkret værdi, såsom et tal, streng eller et andet objekt.Void -metoder, der ikke returnerer en værdi, fungerer ikke godt til rekursion.

Kravet om, at et rekursivt opkald skal være den sidste erklæring i sin opkaldsmetode, betyder ikke nødvendigvis, at det rekursive opkald er den sidste linje i metoden.Et korrekt hale -rekursionsopkald kan også findes i en kontrolstruktur, hvilket betyder, at kontrolstrukturen i kildekode kan afslutte metoden snarere end opkaldet.Den vigtige sondring i dette tilfælde er, at en kontrolstruktur ikke er en programmeringserklæring, men en indbygget del af computersproget.

Rekursion af hale findes i mange computersprog, herunder Java og C ++.Ofte kan disse rekursive opkald omskrives ved hjælp af andre måder, såsom til løkker, mens sløjfer eller GOTO -udsagn.Rekursionens anvendelighed findes, når man opretter mange sekventielle opkald til den samme metode.Rekursion er ofte den reneste og nemmeste måde at udføre gentagne opgaver på.

Et almindeligt eksempel på hale rekursion er en metode, der beregner faktoren for et tal.Denne proces er ideel, fordi det starter med et hvilket som helst nummer, hvert nummer, før den ganges sammen.Så for at finde faktoren på 5 ville den rigtige proces til at gøre det være at multiplicere 5*4*3*2*1.Rekursionen kommer ind på grund af, hvordan den faktoriske metode er struktureret: Hvis faktorialet er 1, skal du returnere 1, ellers returnere faktoren for det nummer, der er givet til metoden minus en.Denne metode er også nyttig, fordi den kan skrives ækvivalent ved hjælp af enten type hale -rekursion, med eller uden en kontrolopgørelse omkring et endeligt metodeopkald.

Hale -rekursion er kun et eksempel på de flere typer rekursion.Konceptet i alle typer rekursion er i det væsentlige det samme, at en metode på en eller anden måde kalder sig selv.Af disse typer er sondringen af hale rekursion, at værdien af et rekursivt opkald straks returneres, og intet andet sker i opkaldsmetoden efter dette opkald.