TGGC's Code beinhaltet keine Endlosschleife.
Die einzige enthaltene Schleife läuft bis NormalerIQ < TGGCsIQ, wobei in jedem Schleifendurchlauf NormalerIQ inkrementiert wird und TGGCsIQ unverändert bleibt. Die Schleife terminiert.
Da die Funktion im Anschluss an die Rekursion zurückkehrt, erzeugt jeder Aufruf von TGGCsSuperGeheimeFunktion keinen oder 2 rekursive Aufrufe.
Und da vor den rekursiven Aufrufen TGGCsIQ dekrementiert wird ist sichergestellt, dass, sobald TGGCsIQ 0 erreicht hat, keine weiteren rekursiven Aufrufe erfolgen. Die Rekursion terminiert.
Das Problem ist die exponentielle Worst-Case-Komplexität:
Der Worst-Case tritt dann ein, wenn der zu prüfende string kein Palindrom enthält. Dann werden
2^Länge_des_strings rekrusive Aufrufe getätigt.
Für das oben genannte Beispiel sind das 2^45 ~ 35 Billionen (Zahl mit zwölf Nullen !) Aufrufe von TGGCsSuperGeheimeFunktion.
Nichts desto trotz ist die Funktion - zumindest meiner bescheidenen Meinung nach - korrekt. Den experimentellen Beleg dafür überlasse ich anderen