Borůvka-Algorithmus: Unterschied zwischen den Versionen
Aus KGS-Wiki
Sn (Diskussion | Beiträge) Beispiel: Zusammenhangskomponenten besser visualisiert |
Sn (Diskussion | Beiträge) K Graph-Layout |
||
| Zeile 7: | Zeile 7: | ||
e((E)) | e((E)) | ||
a -- 3 --- b | a -- 3 --- b | ||
b -- 7 --- c | |||
a -- 1 --- c | a -- 1 --- c | ||
b -- 5 --- d | b -- 5 --- d | ||
b -- 1 --- e | b -- 1 --- e | ||
| Zeile 40: | Zeile 40: | ||
e((E)) | e((E)) | ||
a -- 3 --- b | a -- 3 --- b | ||
b -- 7 --- c | |||
a -- 1 --- c | a -- 1 --- c | ||
b -- 5 --- d | b -- 5 --- d | ||
b -- 1 --- e | b -- 1 --- e | ||
| Zeile 66: | Zeile 66: | ||
e((E)) | e((E)) | ||
a -- 3 --- b | a -- 3 --- b | ||
b -- 7 --- c | |||
a -- 1 --- c | a -- 1 --- c | ||
b -- 5 --- d | b -- 5 --- d | ||
b -- 1 --- e | b -- 1 --- e | ||
| Zeile 79: | Zeile 79: | ||
style e stroke:orange; | style e stroke:orange; | ||
linkStyle default stroke:lightgray, fill:none; | linkStyle default stroke:lightgray, fill:none; | ||
linkStyle | linkStyle 2 stroke:red, stroke-width: 3px; | ||
linkStyle 4 stroke:green, stroke-width: 3px; | linkStyle 4 stroke:green, stroke-width: 3px; | ||
linkStyle 5 stroke:purple, stroke-width: 3px; | linkStyle 5 stroke:purple, stroke-width: 3px; | ||
| Zeile 99: | Zeile 99: | ||
end | end | ||
a -- 3 --- b | a -- 3 --- b | ||
b -- 7 --- c | |||
a -- 1 --- c | a -- 1 --- c | ||
b -- 5 --- d | b -- 5 --- d | ||
b -- 1 --- e | b -- 1 --- e | ||
| Zeile 114: | Zeile 114: | ||
style be stroke:green, stroke-width: 3px; | style be stroke:green, stroke-width: 3px; | ||
linkStyle default stroke:lightgray, fill:none; | linkStyle default stroke:lightgray, fill:none; | ||
linkStyle | linkStyle 2 stroke:red, stroke-width: 3px; | ||
linkStyle 4 stroke:green, stroke-width: 3px; | linkStyle 4 stroke:green, stroke-width: 3px; | ||
linkStyle 5 stroke:red, stroke-width: 3px; | linkStyle 5 stroke:red, stroke-width: 3px; | ||
| Zeile 134: | Zeile 134: | ||
end | end | ||
a -- 3 --- b | a -- 3 --- b | ||
b -- 7 --- c | |||
a -- 1 --- c | a -- 1 --- c | ||
b -- 5 --- d | b -- 5 --- d | ||
b -- 1 --- e | b -- 1 --- e | ||
| Zeile 149: | Zeile 149: | ||
style be stroke:green, stroke-width: 3px; | style be stroke:green, stroke-width: 3px; | ||
linkStyle default stroke:lightgray, fill:none; | linkStyle default stroke:lightgray, fill:none; | ||
linkStyle | linkStyle 2 stroke:red, stroke-width: 3px; | ||
linkStyle 4 stroke:green, stroke-width: 3px; | linkStyle 4 stroke:green, stroke-width: 3px; | ||
linkStyle 5 stroke:red, stroke-width: 3px; | linkStyle 5 stroke:red, stroke-width: 3px; | ||
| Zeile 167: | Zeile 167: | ||
e((E)) | e((E)) | ||
a -- 3 --- b | a -- 3 --- b | ||
b -- 7 --- c | |||
a -- 1 --- c | a -- 1 --- c | ||
b -- 5 --- d | b -- 5 --- d | ||
b -- 1 --- e | b -- 1 --- e | ||
| Zeile 176: | Zeile 176: | ||
classDef default stroke:red, stroke-width: 3px;linkStyle default stroke:lightgray, fill:none; | classDef default stroke:red, stroke-width: 3px;linkStyle default stroke:lightgray, fill:none; | ||
style abcde stroke:red, stroke-width: 3px; | style abcde stroke:red, stroke-width: 3px; | ||
linkStyle | linkStyle 2 stroke:red, stroke-width: 3px; | ||
linkStyle 4 stroke:red, stroke-width: 3px; | linkStyle 4 stroke:red, stroke-width: 3px; | ||
linkStyle 5 stroke:red, stroke-width: 3px; | linkStyle 5 stroke:red, stroke-width: 3px; | ||
Version vom 31. März 2023, 11:27 Uhr
Ein Beispielgraph
Der Borůvka-Algorithmus ist ein Algorithmus, der zu einem gegebenen gewichteten Graphen einen minimalen Spannbaum erzeugt.
Der Algorithmus wurde 1926 von Otakar Borůvka entworfen und arbeitet wie folgt:
- Gegeben sei ein Graph
G. - Erzeuge einen neuen Graphen
T, der später der gesuchte Spannbaum wird. - Füge alle Knoten, aber keine Kanten des Graphen
GzuThinzu. - Wiederhole die folgenden Schritte, bis
Tzusammenhängend ist:- Füge zu jeder Zusammenhangskomponente von
Tderen kleinste ausgehende Kante inGhinzu.
- Füge zu jeder Zusammenhangskomponente von
Beispiel
So erzeugt der Borůvka-Algorithmus aus dem Beispielgraphen einen MST:
Da nun zusammenhängend ist, terminiert der Algorithmus.
