was ist der unterschied zwischen Rekursion und Iteration in der Programmierung (c#)?

3 Antworten

Die Iteration realisiert man durch Schleifen (for, while..). Mittels einer Abbruchbedingung wird die Schleife beendet.
Von Rekursion (von lateinisch recurrere = zurücklaufen) spricht man, wenn eine Methode sich selbst immer wieder aufruft bis eine Abbruchbedingung erfüllt ist. Jede Rekursion lässt sich auch in eine iterative Lösung umwandeln und umgekehrt.

siehe https://www.java-tutorial.org/iteration_und_rekursion.html

Rekursion(int i)
{
  i++:
  if (i < 5)
  {
    Rekursion(i);
  }
  else
  {
    Console.WriteLine("Erreicht!");
  }
}
Iteration()
{
  for (int i = 5; i < 5; i++)
  {
    Console.WriteLine("Erreicht!");
  }
}

Bei einer Rekursion erzeugst du eine Schleife durch den Aufruf der eigenen Methode.

Bei einer Iteration führst du eine normale Schleife aus. Dabei ist die Art der Schleife egal.

Man kann wunderbar rekursiv durch Ordner gehen und jede Ordnerebene durchgehen. Das ist bei einer Schleife auch möglich, aber deutlich stressiger umzusetzen.

LG

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting

Rekursiv: Du rufst eine Methode mehrmals wieder auf. Sagen wir mal:Du hast einen Ordner. Den suchst du nach allen Dateien und Ordnern durch. Dann immer, wenn ein anderer Ordner gefunden wird, wendest du in der Methode diese Methode erneut an und so weiter, bis es automatisch zum Ende läuft (Oder abgebrochen wird). Es ruft sich also immer wieder selber auf.

Iteration: Wenn du beispielsweise mittels for-Schleife eine Liste durchläufst. Du zählst die Elemente +1 zum Beispiel und kommst damit immer zum nächsten um das zu verarbeiten