Teilen und Herrschen

Die grundsätzliche Überlegung zur programmiertechnischen Umsetzung des Paradigmas "Teilen und Herrschen" oder "Divide and Conquer" ist die Unterteilung eines Problems in kleinere Unterprobleme, welche wiederum unterteilt werden. Die Anzahl der zu bearbeitenden Elemente pro Problem wird auf diese Weise reduziert, was sich besonders bei Algorithmen mit schlechtem Laufzeitverhalten positiv bemerkbar macht. Die nun gelösten kleineren Teilprobleme werden anschließend wieder zu einer Lösung für das Gesamtproblem zusammengesetzt.

Der Quicksort Algorithmus arbeitet beispielsweise nach dem Prinzip "Teilen und Herrschen". Dabei wird die zu sortierende Liste in zwei Teillisten getrennt sodass anschließend nur noch jede Teilliste in sich sortiert werden muss. Bei der Umsetzung des Algorithmus kommt es zu einer intensiven Nutzung von Rekursion (siehe späteres Kapitel "Quicksort").