Wpisany przez Michał Knasiecki
wtorek, 09 sierpnia 2005 21:56
Zrozumienie algorytmu wymaga znajomości pojęć grafu oraz
minimalnego drzewa rozpinającego
Jest to algorytm oparty o metodę zachłanną.
Algorytm polega na łączeniu wielu poddrzew w jedno za pomocą krawędzi o najmniejszej wadze. W rezultacie powstałe drzewo będzie minimalne. Na początek należy posortować wszystkie krawędzie w porządku niemalejącym. Po tej czynności można przystąpić do tworzenia drzewa. Proces ten nazywa się rozrastaniem lasu drzew. Wybieramy krawędzie o najmniejszej wadze i jeśli wybrana krawędź należy do dwóch różnych drzew należy je scalić (dodać do lasu). Krawędzie wybieramy tak długo, aż wszystkie wierzchołki nie będą należały do jednego drzewa.
Oto przykład:
Dany jest spójny graf nieskierowany:

Po posortowaniu krawędzi wg. wag otrzymamy:



Wszystkie wierzchołki należą do jednego drzewa- minimalnego drzewa rozpinającego.
Suma wag krawędzi wchodzących w skład drzewa wynosi 10.
Zobacz też: Algorytm Prima.
Jest to algorytm oparty o metodę zachłanną.
Algorytm polega na łączeniu wielu poddrzew w jedno za pomocą krawędzi o najmniejszej wadze. W rezultacie powstałe drzewo będzie minimalne. Na początek należy posortować wszystkie krawędzie w porządku niemalejącym. Po tej czynności można przystąpić do tworzenia drzewa. Proces ten nazywa się rozrastaniem lasu drzew. Wybieramy krawędzie o najmniejszej wadze i jeśli wybrana krawędź należy do dwóch różnych drzew należy je scalić (dodać do lasu). Krawędzie wybieramy tak długo, aż wszystkie wierzchołki nie będą należały do jednego drzewa.
Oto przykład:
Dany jest spójny graf nieskierowany:

Po posortowaniu krawędzi wg. wag otrzymamy:
- Krawędź ae=1
- Krawędź af=2
- Krawędź bc=2
- Krawędź be=2
- Krawędź de=3
- Krawędź ab=4
- Krawędź fd=6
- Krawędź ef=7
- Krawędź cd=8




Suma wag krawędzi wchodzących w skład drzewa wynosi 10.
Zobacz też: Algorytm Prima.
| Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
| Dawid Fatyga | Ruby | ![]() | ![]() |
![]() ![]() ![]() ![]() / 43 |
Poprawiony: piątek, 27 maja 2011 08:48



/ 43
Komentarze
Zacząłem używać tej strony jak wiki nie wiedząc za bardzo co to jest algorytm kruskala.
Jedynie wy macie to wytłumaczone na grafach nigdzie nie mogłem znaleźć nic podobnego