1 Antwort

Den verstehe ich nicht.

Rekursion bedeutet das eine Funktion etwas mit dem Parameter etc. macht. Und dann sich selbst nochmal aufruft.

Solange bis sie es irgendwann nicht mehr tut. (Durch ne Bedingung in der Funktion) Oder das System mit dem stackoverflow Error abstürzt.

Ein gutes Beispiel ist ein sortier Algorithmus.

Ganz einfach erklärt:

Ich nehme das mittlere element. Schmeiße alle Elemente die kleiner sind in ein Array. Und die gösser sind in ein anderes Array.

Anschließend Ruf ich mich selbst auf um die beiden neuen Arrays zu sortieren.

Wenn die Aufrufe zurück kommen. Füge ich alles wieder zu einem Array zusammen und gebe dann die fertige Liste zurück.

Falls der intput nur 2 Elemente hat gibt tausche sie ggf. Wenn das erste grösser als das zweite ist und geb dir Liste zurück. Einzelwerte gibt man einfach zurück.

Der grosse Vorteil daran ist das sich das alles gut parallel verarbeiten lässt.