"pure Rekursion" ist hier ein Begriff, bitte vergib.
Hier sind zwei Beispiele, die zwei verschiedene Rekursionsansätze verwenden. Was sind die Richtlinien für die Verwendung von einem über den anderen?
%Vor%Ein paar Faktoren zu beachten:
StackOverflowError
verursachen könnten.
Verwenden Sie einfache Rekursion, wenn Sie Ihre Funktion an erster Stelle schreiben. Dann ändern Sie dies, um zu wiederholen, sobald Sie alles funktioniert haben, wenn Sie können.
Ein Problem mit TCO ist, dass wenn Sie Ihre Rekursion ablehnen, Sie ein unendliches Aussehen bekommen. Ohne, stürzt Ihr Code gut mit einem Stack-Überlauf ab, was Sie wollen. Ich mochte die Idee des Rezidivs nicht, als ich das erste Mal davon hörte - die meisten Optimierungen sollten einfach passieren - aber es ist nett, es ausschalten zu können.