rp loritms
lrnin ojtivs loritms your sotwr systm sotwr rwr lrn wt rps r in mtmtil trms lrn ow to rprsnt rps in omputrs lrn out typil rp loritms
wy rps? intuitivly, rp is orm y vrtis n s twn vrtis rps r us in numrous ils to mol rltionsips (s) twn lmnts (vrtis) in lyrs input lyrs output lyrs 0 6 6
wt s rp? ormlly, rp is tupl G = (V,E) o sts, wr V is st o vrtis (or nos or points) n E is st o s su tt: xmpl: E V V V = {,,,,, 6, } 6 E = {{, }, {, }, {}, {, }, {, }, {, }, {, }}
typs o rps unirt: V = {,,,,, 6, } E = {{, }, {, }, {}, {, }, {, }, {, }, {, }} 6 irt: E = {(, ), (, ), (, ), (, ), (, ), (, ), (, ), (, )} x orint: 6 x E = {(, ), (, ), (, ), (, ), (, ), (, ), (, ), (, )}
nottions & mtris lt G rp, G.V nots its st o vrtis n G.E its st o s t twn vrtis x n y is not {x,y}, (x,y) or simply xy t orr o G, writtn G, is t numr o its vrtis, wrs G nots its numr o s rp G is sprs i G G n it is ns i G G two vrtis x n y r jnt or niors i xy G i ll t vrtis o G r pirwis jnt, tn G is omplt
nottions & mtris pt rom vrtx x to vrtx y is squn v0, v,..., vk o vrtis vi V wr x = v0 n y = vk, su tt i {,..., k} : (vi, vi) E rp is onnt i vry pir o vrtis is onnt vi pt pt v0, v,..., vk is yl i vrtis v0 = vk w n stor ttriuts in vrtis n s usin t ott nottion,.., v.olor stors olor ttriut in vrtx v, wil.wit n (x,y).wit stor wit ttriut in n (x,y) rsptivly
nottions & mtris lt G = (V,E) n Gʹ = (Vʹ,Eʹ) two rps, i Vʹ V n Eʹ E, tn Gʹ is surp o G, wi w writ Gʹ G lt G = (V,E) n Gʹ = (Vʹ,Eʹ) two rps n Gʹ G, i Vʹ = V, Gʹ is spnnin surp o G t r (or vlny) o vrtx v is t numr o niors o v n is not (v) w in!(g) = min { (v) v V } s t minimum r o G w in Δ(G) = mx { (v) v V } s t mximum r o G V X w in (G) = s t vr r o G vv (v)
rprsntin rps irt 6 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 6 jny mtrix jny list n jny list is st suit or rprsntin sprs rp most rp loritms rly on jny lists n jny mtrix is st suit or rprsntin ns rp or wn t loritm ns to know quikly i tr xists n onntin two vrtis
rprsntin rps unirt 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 6 jny list jny mtrix
typil prolms rt-irst sr minimum spnnin tr sinl-sour sortst pts
rt-irst sr ivn rp G n sour vrtx s G, it isovr vry vrtx rl rom s it omputs t istn rom s to vry vrtx v G it prous rt-irst tr root t s tt ontins ll rl vrtis rom s t sr is si to rt-irst us it isovrs ll vrtis t istn k rom s or isovrin ny vrtis t istn k +
rt-irst sr s
rt-irst sr s
rt-irst sr s
rt-irst sr () () () () (i) rom: r s t u 0 v w x y Introution to Aloritms y T. H. Cormn t l. r Eition MIT Prss, 00 Q s 0 r s t u r s 0 v w x y r t u v w x y r s 0 t u v w x y r s 0 s 0 t u v w x y Q Q Q Q r x u ; t v y x u () () () () r s t u 0 v w x y t u 0 v w x y r s 0 t u v w x y r s 0 t u v w x y Q Q Q Q w t v y r x u v y BFS.G; s/ or vrtx u G:V s u:olor D WHITE u: D u: D NIL s:olor D GRAY 6 s: D 0 s: D NIL Q D; ENQUEUE.Q; s/ 0 wil Q ; u D DEQUEUE.Q/ or G:AjŒu i :olor == WHITE :olor D GRAY : D u: C 6 : D u ENQUEUE.Q; / u:olor D BLACK Fiur. illustrts t prorss o B v. istn rom sour s wit : unisovr v.olor ry : isovr wit som niors isovr lk : isovr wit ll niors isovr v.π prssor in r-irst tr
minimum spnnin tr 6 0 wit rp Gw = (G,w) is tupl ompos o rp G = (V,E) n o untion w : E R ssoitin wit w to E minimum (wit) spnnin tr o rp Gw = (G,w) is onnt surp (Vʹ,Eʹ) su tt: ❷ ❶ Vʹ = V (Vʹ,Eʹ) os not ontin ny yls ❸ X w is miniml ross ll surps ulillin ❶ n ❷ E 0
minimum spnnin tr isjoint-st t strutur mintins olltion " = {S,S,...,Sk} o isjoint ynmi sts wr st is intii y mmr o t st known s its rprsnttiv isjoint-st t strutur supports t ollowin oprtions: MAKE-SET(x) rts nw st wos only mmr n its rprsnttiv is x UNION(x,y) mrs t ynmi sts tt ontin x n y, sy Sx n Sy, into nw st tt is t union o ts two sts FIND-SET(x) rturns t rprsnttiv o t st ontinin x
minimum spnnin tr 6 Cptr Minimum Spnnin Trs () MST-KRUSKAL.G; w/ Kruskl s loritm A D; or i vrtx G:V () i MAKE-SET./ 0 0 sort t s o G:E into nonrsin orry wit w or.u; / G:E,tkninnonrsinorrywit 6 i FIND-SET.u/ FIND-SET./ A D A [.u; / i i i UNION.u; / () i 6 () () i i 6 rturn A 0 0 0 6 Cptr Minimum Spnnin Trs () () () () () () () () 0 0 Fiur. sows ow Kruskl s loritm works. Lins initiliz t i i i 66 () () () 0 0 0 0 i i i 6 0 0 0 0 0 () () () i i i 0 0 0 () () () () i i i 66 0 0 0 0 () () () i i i 6 0 0 0 () i 0 rom: () () () Introution to Aloritms Fiur. Txution o Kruskl s loritm on t rp rom Fiur.. S s y T. H. Cormn t l. lon to t orst A in rown. T loritm onsirs in sort orr y wit. r Eition An rrow i points to t unr onsirtion t stp o t loritm. I t joins two MIT Prss, 00 istint i trs int orst, it is to t orst, () () try mrin it i two trs.
MST-KRUSKAL.G; w/ minimum spnnin tr A D; or vrtx G:V MAKE-SET./ sort t s o G:E into nonrsin orr y wit w or.u; / G:E,tkninnonrsinorrywit 6 i FIND-SET.u/ FIND-SET./ A D A [.u; / UNION.u; / rturn A Kruskl s loritm Fiur. sows ow Kruskl s loritm works. Lins initiliz t (i) i 0 (j) i 0 (k) i 0 (l) i 0 rom: Introution to Aloritms y T. H. Cormn t l. r Eition MIT Prss, 00 (m) i 0 (n) i 0
MST-KRUSKAL.G; w/ minimum spnnin tr A D; or vrtx G:V MAKE-SET./ sort t s o G:E into nonrsin orr y wit w or.u; / G:E,tkninnonrsinorrywit 6 i FIND-SET.u/ FIND-SET./ A D A [.u; / UNION.u; / rturn A Kruskl s loritm Fiur. sows ow Kruskl s loritm works. Lins initiliz t i 0 t Kruskl s loritm is ry, i.., it mks lolly optiml oi t stp rom: Introution to Aloritms y T. H. Cormn t l. r Eition MIT Prss, 00