leo: Prolog - Rekursion

Beitrag lesen

Hallo,

Hi,

kann mir einer die Rekursion erkläre, bitte. Ich verstehe das nicht:

letztes_element(X,[X]).
letztes_element(X,[Y|YS]) :- letztes_element(X,YS).
Hier ist ein Beispiel in Prolog, könnt ihr mir erklären wie Prolog vorgeht und warum es eine Schleife gibt.

Wenn ich mich recht erinnere:
Das letzte Element einer Liste die nur ein Element enthält ist dieses Element (letztes_element(X,[X]).)
Ansonsten wird die Liste in Kopf (Y, erstes Element) und den Rest (YS) gespalten und mit der Restliste YS erneut die Funktion letztes_element aufgerufen (Rekursion, Funktion ruft sich selbst auf). Das ganze dann eben solange wie YS mehr als ein Element enthält, denn dann gilt die erste Definition von letztes_element als Abbruchbedingung.

Danke

Bitte, hoffentlich war es einigermaßen verständlich :-)

MfG, leo