Hvad er en halekursursion?

Hale-rekursion er en type programmeringsmetodeopkald, hvor en metode kalder sig selv og derefter straks returnerer værdien af ​​det andet opkald. Med andre ord forekommer hale-rekursion, når den endelige udsagn i en metode er et andet opkald til den samme metode. Parametrene i den anden metodekald er generelt forskellige fra de første, men dette er ikke påkrævet. For at denne rekursion skal fungere, skal den metode, der kaldes i sig selv, returnere en konkret værdi, såsom et tal, en streng eller et andet objekt. Gyldige metoder, som ikke giver 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 ordentligt halekursursopkald kan også findes inden i en kontrolstruktur, hvilket betyder, at i kildekoden kan kontrolstrukturen 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 på mange computersprog, herunder Java og C ++. Ofte kan disse rekursive opkald skrives om på andre måder, f.eks. Til løkker, mens løkker eller goto-udsagn. Rekursionens anvendelighed findes, når du opretter mange rækkefølgende opkald til den samme metode. Rekursion er ofte den reneste og nemmeste måde at udføre gentagne opgaver på.

Et almindeligt eksempel på rekursion af hale er en metode, der beregner faktabonnementet til et tal. Denne proces er ideel, fordi der starter med ethvert nummer, hvert tal, før det multipliceres sammen. Så for at finde fabrikken af ​​5 ville den rigtige proces til at gøre det være at formere 5 * 4 * 3 * 2 * 1. Rekursionen kommer ind på grund af, hvordan faktormetoden er struktureret: Hvis faktoriet er 1, returner 1, ellers returnerer fabrikken for det nummer, der er givet til metoden minus en. Denne metode er også nyttig, fordi den kan skrives ækvivalent ved hjælp af en hvilken som helst type hale-rekursion, med eller uden en kontrolerklæring omkring et endeligt metodeanrop.

Rekursion til hale er kun et eksempel på de forskellige rekursionstyper. Konceptet i alle former for rekursion er i det væsentlige det samme, som på en eller anden måde en metode kalder sig selv. Af disse typer er forskellen mellem hale-rekursion, at værdien af ​​et rekursivt opkald straks returneres, og intet andet sker i opkaldsmetoden efter dette opkald.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?