8
Zadaća: Za proizvoljnu mrežu od 12 čvorova, γ indeksa 60% pronaći razapinjuće stablo. Dodijeliti granama dužine i pronaći najkraće razapinjuuće stablo Primovim algoritmom i najduže razapinjuće stablo obrnutim Kruskalovim algoritmom. 1

Primov i Kruskalov Algoritam

Embed Size (px)

Citation preview

Page 1: Primov i Kruskalov Algoritam

Zadaća:

Za proizvoljnu mrežu od 12 čvorova, γ indeksa 60% pronaći razapinjuće stablo. Dodijeliti granama dužine i pronaći najkraće razapinjuuće stablo Primovim algoritmom i najduže razapinjuće stablo obrnutim Kruskalovim algoritmom.

1

Page 2: Primov i Kruskalov Algoritam

Traženje razapinjućeg stabla za proizvoljnu mrežu

Redosled grana: (a,b),(c,d),(d,e),(b,d),(c,h),(d,g),(g,e),(e,j),(k,l),(h,f),(f,i),(i,j),(h,k),(j,l),(d,i),(i,l),(a,c),(h,i)

2

a b

c

g

ed

f

h

i

j

k l

a b

c

g

ed

f

hi

j

k l

Page 3: Primov i Kruskalov Algoritam

Traženje najkraćeg razapinjućeg drveta pomoću Prim-ovog algoritma.

Korak 1:Započinjemo sa konstrukcijom najkraćeg razapinjućeg drveta (NRD) u čvoru a. Njemu najbliži je čvor b (rastojanje između njih je 5).Grana (a,b) pripada NRD-u.

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Najbliži izolovani čvor do sada formiranom najkraćem razapinjućem drvetu je čvor d. Grane:(a,b) i (b,d) pripadaju NRD-u.Vraćamo se na korak 2.

Korak 2:

3

7

a 5 b

4

c

3

7

g

ed 3

11

f

14

h

i

1 1

6

j

5

8

89

k l

3

10

Page 4: Primov i Kruskalov Algoritam

Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Najbliži izolovani čvor je čvor g. Grane NRD-a: (a.b),(b,d) i (d,g). →korak 2

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Sada najbliži čvor je e. Grane su: (a,b),(b,d),(d,g) i (g,e).→korak 2

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Najbliži čvor je sada čvor c. Grane: (a,b),(b,d),(d,g),(g,e),(d,c). Granu (d,e) uništavamo jer bi dovela do ciklusa.→korak 2

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Sada najbliži čvor je j. Grane su: (a,b),(b,d),(d,g),(g,e),(d,c) i (e,j). Uništavamo granu (c,a) jer bi i ona dovela do ciklusa.→korak 2

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Čvor i je najbliži čvor i sada imamo sledeće grane: (a,b),(b,d),(d,g),(g,e),(d,c),(e,j) i (j,i).→korak 2

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Sledeći najbliži čvor je čvor f. Grane: (a,b),(b,d),(d,g),(g,e),(d,c),(e,j),(j,i) i (i,f). Grana (i,d) bi napravila ciklus pa ju uništavamo.→korak 2

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Sada je najbliži čvor h. Imamo sledeće grane: (a,b),(b,d),(d,g),(g,e),(d,c),(e,j),(j,i),(i,f) i (f,h).→korak 2

4

Page 5: Primov i Kruskalov Algoritam

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Čvor l je sada najbliži pa i njega uključujemo u NRD. Grane su: (a,b),(b,d),(d,g),(g,e),(d,c),(e,j),(j,i),(i,f),(f,h) i (i,l). Uništavamo grane (h,c) i (l,j) jer bi dovele do ciklusa.→korak 2

Korak 2:Nisu svi čvorovi povezani, pa prelazimo na korak 3.

Korak 3:Najbliži čvor je k, grana (h,k), pa imamo sledeće grane u NRD-u: (a,b),(b,d),(d,g),(g,e),(d,c),(e,j),(j,i),(i,f),(f,h),(i,l) i (h,k).→korak 2

Korak 2:Svi čvorovi su povezani→KRAJ.

Traženje najdužeg razapinjućeg drveta pomoću obrnutog Kruskalovog algoritma

Korak 1:Poredamo grane po opadajućem redoslijedu, od najduže do najkraće:(c,h),(k,l),(h,k),(j,l),(h,i),(a,c),(d,i),(i,j),(a,b),(e,j),(b,d),(c,d),(d,e),(i,l),(d,g),(g,e),(h,f),(f,i)

Korak 2:

5

a 5 b

4

c

3

g

ed

11

f

h

i

1 1

6

j

5

8

9

k l

3

Page 6: Primov i Kruskalov Algoritam

Primjenjujemo algoritam za konstrukciju razapinjućeg drveta na zadati redosled.

6

7

a 5 b

c

7

g

ed

1

f

14

hi

1

j

5

8

89

k l10