EMZETT.
Login

Teile und herrsche (Divide and Conquer)

Kurz: Teile und herrsche zerlegt ein Problem in kleinere gleichartige Teilprobleme, löst sie (oft rekursiv) und setzt die Teillösungen zusammen.

Genauer: Drei Schritte: teilen, die Teile lösen, zusammenführen. Klassische Beispiele sind Mergesort, Quicksort und die Binäre Suche. Oft ergibt sich daraus eine Laufzeit von O(n log n) statt O(n²).

Im Detail

  • Basisfall: Die Zerlegung endet, wenn das Teilproblem trivial ist.
  • Master-Theorem: Hilft, die Laufzeit solcher rekursiven Verfahren zu berechnen.
  • Parallelisierung: Teilprobleme sind unabhängig und lassen sich auf mehrere Kerne verteilen.
  • Weitere Beispiele: Schnelle Fourier-Transformation, Matrixmultiplikation nach Strassen, Karatsuba-Multiplikation.
  • Abgrenzung: Bei überlappenden Teilproblemen ist Dynamische Programmierung besser.

Siehe auch: Rekursion, Big-O-Notation