Przykªad przebiegu
algorytmu Kruskala
Autor projektu: dr Andrzej Mróz (UMK)
Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziaªania 4.1.1 Programu Operacyjnego
Kapitaª Ludzki
1 / 2
Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end; 2 / 2
Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego
Algorytm przebieg
MST-Kruskal(G, w) 1 begin 2 A := ∅; 3 forka»dy v ∈ Vdo 4 MakeSet(v);5 posortuj E niemalej¡co wzgl¦dem wag w;
6 forka»da {u, v} ∈ E, w kolejno±ci niemalej¡cych wagdo
7 ifFindSet(u) <> FindSet(v)then
8 begin 9 A := A ∪ { {u, v} }; 10 Union(u, v) 11 end 12 returnA 13 end;
@
@
@
@
v
f
v
f
v
f
v
f
v
f
v
f
15 2 13 10 8 1 2 9 2 / 2Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego