Professional Documents
Culture Documents
ASP 11 Grafovi Vtor Del
ASP 11 Grafovi Vtor Del
1
за интерна употреба
2
за интерна употреба
3
за интерна употреба
4
за интерна употреба
w(T ) w(u, v)
( u ,v )T
5
за интерна употреба
GENERIC-MST(G, w)
1 A←
2 while A ne formira steblo pretstavnik
3 do najdi ja vrskata (u, v) koja e bezbedna za A
4 A←A {(u, v)}
5 return A
Алгоритмот на Крускал
Во пристапот (алгоритмот) на Крускал, минималното распнувачко стебло
се гради со вметнување на ребро по ребро. Ребрата кандидати за
вметнување во минималното распнувачко стебло се сите ребра кои се
споени со темињата на ребрата кои го сочинуваат стеблото. Ребрата кои
можат да се вметнат во предходно изграденото минимално стебло се
проверуваат според неопаѓачкиот редослед на нивните тежини.
Проверката на ребрата се сведува на проверка дали тоа ребро води кон
теме кое веќе постои во минималното распнувачко стебло. Доколку
темето кон кое тоа ребро води, не постои во минималното распнувачко
стебло, тоа ребро се вметнува во минималното распнувачко стебло.
Алгоритмот завршува кога сите темиња од графот ќе постојат во
стеблото, односно кога проверката ќе даде неповолен резултат за сите
кандидат ребра. Стеблото почнува да се гради со реброто од графот кое
има најмала тежина.
6
за интерна употреба
7
за интерна употреба
8
за интерна употреба
1 T←
2 while T pomalku od n - 1 vrski and E ne e prazno do
3 izberi vrska (v,w) od E so najmala cena;
4 izbrisi (v,w) od E;
5 if (v,w) ne sozdava jamka vo T
6 then dodadi (v,w) vo T
7 else otstrani (v,w)
8 end
9 if T sodrzi povekje od n - 1 vrski then print (' nema steblo pretstavnik ')
Алгоритмот на Прим
Алгоритмот на Прим се разликува од алгоритмот на Крускал затоа што
тој во секоја итерација гради едно стебло. Откако ќе се избере
произволно почетно теме, кон него се додаваат ребра од множеството
на ребра на темињата кои се споени со него. Во следните итерации се
разгледуваат сите ребра кои не припаѓаат на веќе изграденото стебло,
но излегуваат од темиња што припаѓаат на него. Реброто (односно
темето) што се придодава кон минималното распнувачко стебло е она
ребро што го задоволува условот да не се спојува со теме што веќе
припаѓа на минималното стебло (како кај Крускал) и има најмала тежина
(според максималистичкиот архетип). Графичка илустрација на овој
алгоритам е дадена на слика 11.7. Темињата (и ребрата) означени со
темна боја се темињата (и ребрата) кои во даден чекор влегуваат во
минималното распнувачко стебло. Во случај кога постои избор на повеќе
ребра со иста тежина кои би можеле да влезат во минималното
распнувачко стебло, изборот е произволен.
9
за интерна употреба
10
за интерна употреба
MST-PRIM(G, w, r)
1 Q ← V[G]
2 for sekoe u Q
3 do key[u] ← ∞
4 key [r] ← 0
5 [r] ← NIL
6 while Q ≠
7 do u ← EXTRACT-MIN(Q)
8 for sekoe v Adj[u]
9 do if v Q and w (u, v) < key[v]
10 then [v] ← u
11 key[v] ← w(u, v)
11
за интерна употреба
12
за интерна употреба
13
за интерна употреба
INITIALIZE-SINGLE-SOURCE(G,s)
1 for sekoe teme v V[G]
2 do d[v] ← ∞
3 [v] ← NIL
4 d[s] ← 0
RELAX(u, v, w)
1 if d[v] > d[u] + w(u,v)
2 then d[v] ← d[u] + w(u,v)
3 [v] ← u
Алгоритам на Дајкстра
Алгоритмот на Дајкстра работи под претпоставка дека за даден тежински
ориентиран граф G = (V, E) за секое ребро (u, v) E важи дека нејзината
тежина w(u, v) 0.
14
за интерна употреба
DIJKSTRA(G,w,s)
1 INITIALIZE-SINGLE-SOURCE (G,s)
2 S←
3 Q ← V[G]
4 while Q ≠
5 do u ← EXTRACT-MIN(Q)
6 S←S {u}
7 for sekoe teme v Adj[u]
8 do RELAX (u,v,w)
Илустрацијата на овој алгоритам за даден граф, е прикажана на слика
11.10. Појдовното теме е најлевото теме од графот. Во темињата се
означени тековните претпоставени најкратки должини на патеките,
додека со темна боја се означени ребрата кои се кон моменталните
предходници (кои го сочинуваат моменталното стебло на најкратки
патеки). Темињата кои припаѓаат на S се означени со темна боја. Темето
означено со сива боја е темето кое е одередено како избрано во линија 5
од псевдо кодот. На слика 11.10а е претставена ситуацијата после
иницијализацијата, додека останатите слики соодветствуваат со
ситуациите после секоја итерација на циклусот од линиите 4 до 8. Слика
11.10ѓ го претставува излезот на алгоритмот.
15
за интерна употреба
16