Elementare Algorithmen

Divide-and-Conquer-Strategie

 aufwärts

Statt das Problem A durch ein direktes Verfahren zu lösen und so zur Lösung A zu gelangen, wird Problem A mithilfe von Divide in eine Menge von Teil­problemen B gleicher Art, aber kleinerer Größe zerlegt. Diese Teilprobleme werden gelöst (Conquer); es ergibt sich eine Menge von zugehörigen Teillösungen B. Mithilfe von Combine werden diese Teillösungen B zur gesuchten Lösung A wieder zusammen­gesetzt.

 

Problem A (direktes Verfahren)
langer Pfeil nach rechts
 Lösung A
Dividelanger Pfeil nach unten  langer Pfeil nach obenCombine
{ Teilprobleme B } langer Pfeil nach rechts
Conquer
 { Teillösungen B }

 

Die Divide-and-Conquer-Strategie ist immer dann viel­versprechend, wenn der Aufwand zur Lösung der Teilprobleme B zusammen­genommen geringer ist als der Aufwand zur Lösung des Gesamt­problems A. Hinzu kommt allerdings noch der Aufwand für Divide und für Combine; dieser darf nicht zu groß sein, sonst lohnt sich die Divide-and-Conquer-Strategie möglicher­weise doch nicht.

Beispiel:  Ein einfaches Sortier­verfahren, z.B. Insertionsort, benötigt zum Sortieren einer Datenfolge der Länge n im direkten Verfahren n2/2 – n/2 Schritte. Zerlegen wir die Datenfolge in zwei Teilstücke der Länge n/2 und sortieren diese jeweils für sich mit Insertionsort, so benötigen wir 2 · (n2/8 – n/4)  =  n2/4 – n/2 Schritte, also weniger als halbsoviele Schritte wie im direkten Verfahren.

Hinzurechnen müssen wir allerdings noch den Aufwand für Divide und für Combine. Das Zerlegen der Folge in zwei Teilstücke (Divide) verursacht keinen Aufwand, wohl aber das Zusammen­fügen (Combine) der jeweils für sich sortierten Teilstücke zu einer insgesamt sortierten Folge. Tatsächlich aber beträgt dieser Aufwand nur n Schritte, sodass wir mit n2/4 – n/2 + n  =  n2/4 + n/2 Schritten immer noch günstiger dastehen als beim direkten Verfahren, jedenfalls für n > 4.

Die Divide-and-Conquer-Strategie hat sich also in diesem Fall gelohnt. Richtig lohnend wird sie allerdings erst dann, wenn wir zum Sortieren der Teilstücke der halben Länge nicht das direkte Verfahren, sondern ebenfalls wieder die Divide-and-Conquer-Strategie anwenden, für die dabei entstehenden Teilstücke ebenfalls wieder usw., solange bis kein Divide mehr möglich ist. Beim Zerlegen einer Folge in Teilstücke ist dies dann erreicht, wenn nur noch Teilstücke der Länge 1 vorhanden sind.

Das Ergebnis ist das Sortier­verfahren Mergesort.

 

Weiter mit:   up

 

homeH.W. Lang   Hochschule Flensburg   lang@hs-flensburg.de   Impressum   Datenschutz   ©   Created: 27.09.2011   Updated: 04.06.2018
Valid HTML 4.01 Transitional

Hochschule Flensburg
Campus Flensburg

Informatik in Flensburg studieren...

 

Neu gestaltetes Studienangebot:

Bachelor-Studiengang
Angewandte Informatik

mit Schwerpunkten auf den Themen Software, Web, Mobile, Security und Usability.

Ihr Abschluss
nach 7 Semestern:
Bachelor of Science

 

Ebenfalls ganz neu:

Master-Studiengang
Angewandte Informatik

Ein projektorientiertes Studium auf höchstem Niveau mit den Schwerpunkten Internet-Sicherheit, Mobile Computing und Human-Computer Interaction.

Ihr Abschluss
nach 3 Semestern:
Master of Science

 

Weitere Informatik-Studienangebote an der Hochschule Flensburg:

Medieninformatik

Wirtschaftsinformatik