Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:graphen:zpg:minimalspanningtree:kruskal:start [07.12.2022 11:49] – [Beispiel] Frank Schiebel | faecher:informatik:oberstufe:graphen:zpg:minimalspanningtree:kruskal:start [27.09.2024 13:26] (aktuell) – [Algorithmus von Kruskal zur Bestimmung eines MST] Marco Kuemmel | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
=== (A1) === | === (A1) === | ||
- | Untersuche im Graphentester den Algorithmus "MST (Kruskal)" | + | Untersuche im Graphentester den Algorithmus "MST (Kruskal)" |
* Versuche herauszufinden, | * Versuche herauszufinden, | ||
- | * Welche Situation muss vermieden werden? Fällt dir dafür eine einfache Lösung ein. | + | * Welche Situation muss vermieden werden? Fällt dir dafür eine einfache Lösung ein? |
* Beschreibe deinen so gefundenen Algorithmus in einem kurzen Text. | * Beschreibe deinen so gefundenen Algorithmus in einem kurzen Text. | ||
- | * Verhgleiche | + | * Vergleiche |
++++ Beschreibung des Algorithmus von Kruskal | | ++++ Beschreibung des Algorithmus von Kruskal | | ||
+ | ==== Beschreibung des Algorithmus (Kruskal) ==== | ||
+ | |||
+ | |||
Der Algorithmus verfolgt die Idee, immer die kürzeste Kante des Graphen dem Baum hinzuzufügen, | Der Algorithmus verfolgt die Idee, immer die kürzeste Kante des Graphen dem Baum hinzuzufügen, | ||
Zunächst werden die Kanten also nach ihrem Gewicht sortiert und dann für jede Kante folgende Regeln beachtet: | Zunächst werden die Kanten also nach ihrem Gewicht sortiert und dann für jede Kante folgende Regeln beachtet: | ||
Zeile 25: | Zeile 28: | ||
==== Beispiel ==== | ==== Beispiel ==== | ||
- | | {{ :faecher:informatik:oberstufe: | + | ((Quelle https:// |
- | | {{ : | + | |
- | | {{ : | + | < |
- | | {{ : | + | < |
- | | {{ : | + | <col sm=" |
- | | {{ : | + | {{ 300px-prim_algorithm_0.svg.png? |
- | | {{ : | + | </ |
+ | <col sm=" | ||
+ | Dies ist der Graph, zu dem der Algorithmus von Kruskal einen minimalen Spannbaum berechnen wird. Die Zahlen bei den einzelnen Kanten geben das jeweilige Kantengewicht an. Zu Beginn ist noch keine Kante ausgewählt. | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <col sm=" | ||
+ | {{ 300px-kruskal_algorithm_1.svg.png? | ||
+ | </ | ||
+ | <col sm=" | ||
+ | Die Kanten AD und CE sind die kürzesten (noch nicht ausgewählten) Kanten des Graphen. Beide können ausgewählt werden. Hier wird zufällig AD ausgewählt. (Dass diese keinen Kreis bildet, ist im ersten Schritt selbstverständlich.) | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <col sm=" | ||
+ | {{ 300px-kruskal_algorithm_2.svg.png? | ||
+ | </ | ||
+ | <col sm=" | ||
+ | Nun ist CE die kürzeste, noch nicht ausgewählte Kante. Da sie mit AD keinen Kreis bildet, wird sie nun ausgewählt. | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <col sm=" | ||
+ | {{ 300px-kruskal_algorithm_3.svg.png? | ||
+ | </ | ||
+ | <col sm=" | ||
+ | Die nächste Kante ist DF mit Länge 6. Sie bildet mit den schon gewählten Kanten keinen Kreis und wird deshalb ausgewählt. | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <col sm=" | ||
+ | {{ 300px-kruskal_algorithm_4.svg.png? | ||
+ | </ | ||
+ | <col sm=" | ||
+ | Jetzt könnten die Kanten AB und BE, jeweils mit Länge 7, ausgewählt werden. Es wird zufällig AB gewählt. Die Kante BD wird rot markiert, da sie mit den bis jetzt gewählten Kanten einen Kreis bilden würde und somit im weiteren Verlauf des Algorithmus nicht mehr berücksichtigt werden muss. | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <col sm=" | ||
+ | {{ 300px-kruskal_algorithm_5.svg.png? | ||
+ | </ | ||
+ | <col sm=" | ||
+ | BE ist nun mit Länge 7 die kürzeste der noch nicht ausgewählten Kanten und da sie mit den bisher gewählten keinen Kreis bildet, wird sie ausgewählt. Analog zur Kante BD im letzten Schritt werden jetzt die Kanten BC, DE und FE rot markiert. | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <col sm=" | ||
+ | {{ 300px-kruskal_algorithm_6.svg.png? | ||
+ | </ | ||
+ | <col sm=" | ||
+ | Als letzte wird die Kante EG mit Länge 9 ausgewählt, | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
---- | ---- | ||
{{: | {{: | ||
=== (A2) === | === (A2) === | ||
- | Übersetze die Beschreibuung | + | Übersetze die Beschreibung |
++++ Pseudocode Kruskal | ++++ Pseudocode Kruskal |