Zurück zur Übersicht

Begriff

Recursion

Development Computer Science S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Um Rekursion zu verstehen, muss man erst Rekursion verstehen. (Alter Programmierer-Witz). Ernsthaft: Eine Funktion ruft sich selbst auf. Wie russische Matrjoschka-Puppen. Du öffnest eine Puppe, darin ist eine kleinere Puppe (gleiche Funktion öffnen). Das machst du so lange, bis du an der kleinsten Puppe (massiv) ankommst. Das ist der Base Case (Abbruchbedingung). Dann machst du alle Puppen wieder zu.

Merksatz: Eine Programmiertechnik, bei der eine Funktion sich selbst aufruft, um ein Problem zu lösen, indem sie es in kleinere Instanzen desselben Problems zerlegt, bis ein Basisfall erreicht ist.


Quick-Check

  1. Base Case vergessen?
    Infinite Loop (endlos). Der Computer friert ein oder crasht sofort. Der häufigste Fehler.
  2. Fibonacci?
    Das schlechteste Beispiel für Rekursion. fib(n-1) + fib(n-2) ist exponentiell langsam ($O(2^n)$), weil es dieselben Zahlen millionenfach neu berechnet. Man braucht "Memoization" (Caching).
  3. Quicksort?
    Ein berühmter Sortieralgorithmus (Divide and Conquer), der rein auf Rekursion basiert.