Zum Inhalt springen

Informatik · Klasse 11–13 · aktualisiert

Minimaler Spannbaum: Kruskal und Prim verstehen

Du lernst, was ein minimaler Spannbaum ist, führst Kruskal und Prim Schritt für Schritt aus und unterscheidest ihn von einem kürzesten Weg.

0 von 13 Aufgaben gelöst

Minimaler Spannbaum: Kruskal und Prim verstehen

Kurz gesagt

Ein minimaler Spannbaum verbindet alle Knoten eines zusammenhängenden, gewichteten Graphen ohne Kreis. Die Summe der Kantengewichte ist dabei so klein wie möglich. Kruskal und Prim berechnen ihn. Ein kürzester Pfad verbindet dagegen nur zwei bestimmte Knoten.

Ein Netzbetreiber will mehrere Städte verbinden und möglichst wenig Geld für Kabel ausgeben. Er braucht kein Kabel zu viel, aber jede Stadt muss erreichbar sein. Genau dafür gibt es minimale Spannbäume. Hier lernst du, wie du sie erkennst, berechnest und von kürzesten Wegen unterscheidest.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Zuerst die Bausteine. Ein Graph besteht aus Knoten (Punkten) und Kanten (Verbindungen). Ungerichtet heißt: Die Kanten haben keine Richtung. Ein Pfad ist ein Weg, der keinen Knoten doppelt benutzt. Ein Kreis ist ein Weg, der wieder zum Startknoten zurückführt. Zusammenhängend heißt: Von jedem Knoten kommst du zu jedem anderen.

Ein Baum ist ein zusammenhängender, kreisfreier, ungerichteter Graph. Ein Baum mit n Knoten hat genau n − 1 Kanten. Zwischen je zwei Knoten gibt es genau einen Pfad. Entfernst du eine beliebige Kante, hängt der Baum nicht mehr zusammen. Fügst du zwischen zwei beliebigen Knoten eine weitere Kante hinzu, entsteht ein Kreis.

Ein Spannbaum eines Graphen ist ein Teilgraph, der ein Baum ist und alle Knoten des Graphen enthält. Andere Namen sind „aufspannender Baum“ und „Gerüst“. Spannbäume gibt es nur in zusammenhängenden Graphen. Einen Spannbaum, der nicht unbedingt minimal ist, findest du auch mit Breitensuche oder Tiefensuche.

In einem Graphen mit Kantengewichten (zum Beispiel Kabelkosten) ist das Gewicht des Graphen die Summe seiner Kantengewichte. Ein Spannbaum heißt minimal, wenn es im selben Graphen keinen anderen Spannbaum mit geringerem Gewicht gibt. Man schreibt oft MST, nach dem englischen Minimum Spanning Tree. Sind alle Kantengewichte verschieden, gibt es genau einen minimalen Spannbaum.

Definition

Spannbaum

Ein Spannbaum ist ein Teilgraph eines ungerichteten Graphen, der ein Baum ist und alle Knoten des Graphen enthält.

Definition

Minimaler Spannbaum

Ein Spannbaum ist minimal, wenn es im selben Graphen keinen anderen Spannbaum mit geringerem Gewicht gibt. Das Gewicht ist die Summe der Kantengewichte.

Beispiel: Der vollständige Graph mit 4 Knoten

  1. 1Vollständig heißt hier: Jeder Knoten ist direkt mit jedem anderen verbunden. Dieser Graph heißt K₄.
  2. 2Er hat 4 hoch (4 − 2) = 4² = 16 verschiedene Spannbäume.
  3. 3Jeder dieser Spannbäume hat 4 Knoten und damit genau 3 Kanten (n − 1 = 3).

Teste dich

LeichtWie viele Kanten hat ein Baum mit n Knoten?
MittelDu fügst einem Baum eine weitere Kante zwischen zwei seiner Knoten hinzu. Was entsteht?

Alles auf einen Blick

Minimaler Spannbaum

  • Spannbaum

    Teilgraph, der ein Baum ist und alle Knoten des Graphen enthält

  • Minimal

    Kein anderer Spannbaum im selben Graphen hat ein geringeres Gewicht

  • Kruskal

    Kanten aufsteigend sortieren und nur aufnehmen, wenn kein Kreis entsteht

  • Prim

    Mit einem beliebigen Knoten starten, immer die leichteste Kante zu einem neuen Knoten wählen

  • Kreis

    Kruskal verwirft Kreiskanten, bei Prim entsteht per Konstruktion kein Kreis

  • Unterschied

    Der Spannbaum verbindet alle Knoten, der kürzeste Pfad nur zwei bestimmte

Musteraufgabe · Schritt für Schritt

Kruskal und Prim im selben Graphen (Rechenbeispiel)

  1. 1Graph mit den Knoten A, B, C, D und den Kanten A-B: 4, A-C: 1, B-C: 3, B-D: 2, C-D: 5, A-D: 6.
  2. 2Kruskal, sortiert: A-C (1), B-D (2), B-C (3), A-B (4), C-D (5), A-D (6).
  3. 3A-C (1) bildet keinen Kreis: aufgenommen. B-D (2): aufgenommen. B-C (3): aufgenommen, denn A, C und B, D waren noch nicht untereinander verbunden.
  4. 4A-B (4): verworfen, A und B sind schon verbunden. C-D (5) und A-D (6) werden aus demselben Grund verworfen.
  5. 5Gesamtgewicht: 1 + 2 + 3 = 6.
  6. 6Prim mit Start bei A: billigste Kante aus dem Baum heraus ist A-C (1), neu im Baum: C. Dann B-C (3), neu: B. Dann B-D (2), neu: D.
  7. 7Auch hier gilt: 1 + 3 + 2 = 6. Beide Verfahren liefern das Gesamtgewicht 6.

Fehler finden

Prüfe die Schritte bei Kruskal In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Ein Baum mit n Knoten hat genau Kanten. Kruskal sortiert die Kanten zuerst nach Gewicht. Eine Kante wird verworfen, wenn ihre beiden Knoten .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Minimaler Spannbaum

LeichtIn welchem Graphen kann es einen Spannbaum geben?
MittelWarum entsteht bei Prim kein Kreis?
SchwerIm Beispielgraphen kostet der direkte Weg von D nach E 15. Der Weg von D über F nach E kostet 8 + 6. Welcher ist der kürzeste Pfad von D nach E?

Weiterlesen in Informatik