Вы находитесь на странице: 1из 3

PROBLEM SPAJANJA I KRUSKALOV ALGORITAM

Kruskalov algoritam efikasno rjeava konkretan problem spajanja: neke gradove


treba povezati mreom autocesta, tako da ukupna gradnja bude najjeftinija, a znamo
cijene
izgradnje autoceste izmeu gradova i . Dakle, svaki grad je vrh
teinskog grafa s teinama
.
Problem spajanja ekvivalentan je nalaenju razapinjueg podgrafa najmanje teine
zadanog grafa . (U opisanom problemu teine su zapravo trokovi gradnje pojedine
dionice autoceste.) Taj podgraf ne smije sadravati cikluse jer e time ukupna teina
nepotrebno postati vea. Dakle, traeni podgraf mora biti stablo to je razapinjue
stablo minimalne teine u grafu , koje zovemo optimalno stablo.
Ako je
1 za svaki
, tada je optimalno stablo zapravo razapinjue stablo
s minimalnim brojem bridova. Budui da svako razapinjue stablo ima jednak broj
bridova
1 , dovoljno je nai jedno razapinjue stablo.

KRUSKALOV ALGORITAM ZA NALAENJE OPTIMALNOG STABLA


1) Najprije uredimo bridove

,,

grafa

tako da je
.

2) Redom konstruiramo skupove bridova


pri emu je

,
nema ciklusa, a je

ako u

Algoritam zavrava ako je | |

1 ili je

Ako je algoritam zavrio skupom


razapinjue stablo grafa .

inae.

.
,

, onda je

traeno minimalno

Primjer 1. Kruskalovim algoritmom naite optimalno (tj. minimalno razapinjue) stablo


grafa
5
3
5

1
2

3
2

Najprije uredimo bridove kako je prikazano na slici:

e12
e9

e8

e5

e10
e11

e2
e1

e13

e3

e6

e7
e4

Zatim konstruiramo skupove bridova:


. Za sada imamo (istaknuto):

,
Nastavljamo dalje
,
. Dobili smo optimalno stablo (istaknuto):

Moe se dokazati da vrijedi sljedei teorem:

Teorem 1. Svako razapinjue stablo


algoritmom je optimalno stablo.

,,

konstruirano Kruskalovim

Вам также может понравиться