kruskala

kruskala



Algorytm Kruskala

Idea algorytmu Kruskala jest następująca:

Tworzymy pusty zbiór krawędzi T oraz listę L wszystkich krawędzi grafu uporządkowaną według rosnących wag.

Dopóki w T nie mamy wszystkich wierzchołków grafu, wybieramy z listy L krawędź i, jeśli nie tworzy ona cyklu z krawędziami już obecnymi w T, dodajemy ją do zbioru T.

Gdy algorytm zakończy pracę, w T będzie minimalne drzewo rozpinające.

W poniższej tabelce podajemy przykład znajdowania minimalnego drzewa rozpinającego za pomocą algorytmu Kruskala.



L


4-6:1

4- 5:2 2-7:3 0-6:3 2-4:4

0- 1:5

2- 6:5

1- 5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


Oto nasz graf ważony, dla którego mamy znaleźć minimalne drzewo rozpinające. Tworzymy pusty zbiór krawędzi T oraz uporządkowaną wg rosnących wag listę L krawędzi grafu



4-6:1

4-5:2



4-6:1

4-5:2

2-7:3

0-6:3


T

4-6:1

4-5:2

2-7:3

0-6:3

2-4:4

T

T


T

4-6:1


T


T

4-6:1

4-5:2

2-7:3


T


4-6:1

4-5:2

2-7:3

0-6:3

2-4:4

0-1:5


4-6:1

4-5:2

2-7:3

0-6:3

2-4:4

0-1:5


L


4-6:1

4- 5:2 2-7:3 0-6:3 2-4:4

0- 1:5

2- 6:5

1- 5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


L


4- 5:2 2-7:3 0-6:3 2-4:4

0- 1:5

2- 6:5

1- 5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


L


2-7:3

0-6:3

2-4:4

0- 1:5

2- 6:5

1- 5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


L


0-6:3

2-4:4

0- 1:5

2- 6:5

1- 5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


L


2-4:4

0- 1:5

2- 6:5

1- 5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


L


0- 1:5

2- 6:5

1- 5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


L


2- 6:5 1-5:6

5- 6:6 1-7:7 1-4:8

3- 6:8

0- 3:9

1- 2:9

2- 3:9

6- 7:9


T

L

4-6:1

3-6:8

4-5:2

0-3:9

2-7:3

1-2:9

0-6:3

2-3:9

2-4:4

6-7:9

0-1:5

3-6:8

Pobieramy z L krawędź 3-6:8 i dołączamy do T. Suma wag = 1 + 2 + 3 + 3 + 4 + 5 + 8 = 26


T

L

4-6:1

0-3:9

4-5:2

1-2:9

2-7:3

2-3:9

0-6:3

6-7:9

2-4:4

0-1:5

3-6:8


Pobieramy z listy L krawędź 4-6:1 i dodajemy ją do zbioru T. Krawędź ta będzie należała do minimalnego drzewa rozpinającego.

Suma wag = 1


Pobieramy z L kolejną krawędź 4-5:2 i dodajemy ją do zbioru T. Suma wag = 1 +2 = 3


Pobieramy z L krawędź 2-7:3 i dołączamy do T. Suma wag = 1 + 2 + 3 = 6


Pobieramy z L krawędź 0-6:3 i dołączamy do T. Suma wag = 1 + 2 + 3 + 3 = 9


Pobieramy z L krawędź 2-4:4 i dołączamy do T. Suma wag = 1 + 2 + 3 + 3 + 4 = 13


Pobieramy z L krawędź 0-1:5 i dołączamy do T. Suma wag = 1 + 2 + 3 + 3 + 4 + 5 = 18


Pobieramy z L krawędzie: 2-6:5, 1-5:6, 5-6:6, 1-7:7 i 1-4:8, lecz nie dodajemy ich do T, ponieważ utworzyłyby one cykle z krawędziami już obecnymi w T.


Zbiór T obejmuje wszystkie wierzchołki grafu, otrzymaliśmy minimalne drzewo rozpinające o sumie wag krawędzi równej 26.



Wyszukiwarka

Podobne podstrony:
58016 P3200041 algorytm procedury jest następujący IB.Minasny, A.B.McBralney, 1999]
Stosowana terminologia jest następująca: Proces stochastyczny- zbiór możliwych wyników obserwacji
System jest to celowo określony zbiór elementów oraz relacji zachodzących między tymi elementami i m
16 I. STRUKTURY LICZBOWE jeśli x ^ 1. Definicja jest poprawna bo dla x ^ 1 zbiór {xw: w G Q oraz w ^
3Zadanie 2. Dwie tablice Rozważ następujący algorytm, który jest zgodny z poniższą niepełną
b) Algorytm cięć Alfa-beta Algorytm cięć o - V Jest to rozszerzeni# algorytmu minl-max. Idea sprowad
img037 (39) 42 Na tym rysunku ciąg kolejnych przybliżeń otrzymany zgodnie z formułą algorytmu sieczn
img059 59 Rozdział 4. Nieliniowe sieci neuronowe4.6 Uczenie sieci nieliniowej Opisany wyżej algorytm
skanuj0297 297 ROZDZIAŁ DZIEWIĄTY: Shadery i algorytmy renderinguAlgorytm Reyes Algorytm Reyes jest
obraz4 (73) Reguły dokładnej analizy algorytmu 1.    Przyjmowana jest umowna jednost
Unifikacja Algorytm unifikacji jest rekurencyjną procedurą, porównującą dwa termy i odkrywającą
Algorytm planowania: Jest to pewien algorytm przeszukiwania przestrzeni stanów. Reprezentujemy go pr

więcej podobnych podstron