Stronly onnt omponnts Fnn stronly-onnt omponnts Tylr Moor stronly onnt omponnt s t mxml sust o rp wt rt pt twn ny two vrts SE 3353, SMU, Dlls, TX Ltur 9 Som sls rt y or pt rom Dr. Kvn Wyn. For mor normton s ttp://www.s.prnton.u/~wyn/klnr-tros. Som o rus or pt rom Pyton lortms y Mnus L Htln. 2 / 15 D. Nos n r mutully rl tr s ot pt rom to n lso pt rom to. D. rp s stronly onnt vry pr o nos s mutully rl. Lmm. Lt ny no. s stronly onnt vry no s rl rom, n s rl rom vry no. Torm. n trmn s stronly onnt n tm. P. Pk ny no. Run FS rom n. rvrs orntton o vry n G Run FS rom n. Rturn tru ll nos r n ot FS xutons. orrtnss ollows mmtly rom prvous lmm. P. Follows rom nton. P. Pt rom to : ontnt pt wt pt. Pt rom to : ontnt pt wt pt. s u ok pts ovrlp v 41 3 / 15 42 4 / 15
Is Wkp stronly onnt rp? D. stron omponnt s mxml sust o mutully rl nos. Torm. [Trjn 1972] n n ll stron omponnts n tm. 43 5 / 15 6 / 15 Stronly onnt omponnts Stronly onnt omponnts stronly onnt omponnt s t mxml sust o rp wt rt pt twn ny two vrts r suprnos n DG? 7 / 15 8 / 15
Stronly onnt omponnts Kosrju s lortm or nn Ss Wt w trnspos ll s? 1 Gt topolol sort o ll vrts 2 Trnspos t rp (rvrs ll s) 3 Trvrs t rp n topololly sort orr, n n S tm n s r. Suprnos stll n DG Ss on t n 8 / 15 9 / 15 Kosrju s lortm or Fnn Stronly onnt omponnts 1. Gt topolol sort o ll vrts Kosrju s lortm or Fnn Stronly onnt omponnts 2. Rvrs ll s topsort: [,,,,,,,, ] topsort: [,,,,,,,, ] sn: {} sn: {} ss: [] ss: []
Kosrju s lortm or Fnn Stronly onnt omponnts 3. Trvrs t rp n topololly sort orr, n n S tm n s r. Kosrju s lortm or Fnn Stronly onnt omponnts 3. Trvrs t rp n topololly sort orr, n n S tm n s r. 2n S topsort: [,,,,,,,, ] sn: {,,,} ss: [{,,,}] topsort: [,,,,,,,, ] sn: {,,,,,,} ss: [{,,,},{,,}] 1st S 1st S Kosrju s lortm or Fnn Stronly onnt omponnts 3. Trvrs t rp n topololly sort orr, n n S tm n s r. 1st S 2n S 3r S topsort: [,,,,,,,, ] sn: {,,,,,,,,} ss: [{,,,},{,,},{,}] o or Kosrju s S lortm t r (G ) : # Trnspos ( r v. s o ) G GT = {} o r u n G : GT[ u ] = st ( ) # Gt l l t nos n t r o r u n G : o r v n G[ u ] : GT[ v ]. ( u ) # l l r v r s s rturn GT s (G ) : GT = t r (G) # Gt t t r n s p o s rp ss, sn = [ ], st ( ) o r u n t r s t o p s o r t (G ) : # DFS s t r t n p o n t s u n sn : ontnu # I n o r o v r nos = wlk (GT, u, sn ) # Don t o kwr ( sn ) sn. upt () # W v now sn s s. ppn () # notr S oun p r n t s s 11 / 15
o or Kosruju s S lortm (topolol sort) o or Kosruju s S lortm (rp trvrsl) t r s t o p s o r t (G ) : S, Q, r s = st ( ), [ ], [ ] # V s t s t n quu o r u n G : #ovr n t r rp Q. ppn ( u ) wl Q: # Plnn nos l t? v = Q. pop ( ) # Gt on u n S : ontnu S. ( v ) # W v v s t t now Q. xtn (G[ v ] ) r s. ppn ( u ) # P o s t o r r p r o s s : no wn n s r s. r v r s ( ) rturn r s wlk (G, s, S=st ( ) ) :#Wlk t rp rom no s P, Q = t ( ), st ( )#P r s s o r s + to o quu P [ s ] = Non #s s no p r s s o r Q. ( s ) #W p l n on s t r t n wt s wl Q: #S t l l nos to v s t u = Q. pop ( ) #Pk on, r t r r l y o r v n G[ u ]. r n (P, S ) : # Nw nos? Q. ( v ) #W p l n to v s t tm! P [ v ] = u #Rmmr wr w m rom rturn P #T t r v r s l t r 12 / 15 13 / 15 Exrs 1: pply Kosrju s S lortm Exrs 2: pply Kosrju s S lortm Grp G Trnspos(G) Grp G Trnspos(G) Wt s t topolol sort o G? Lt s mk t DFS tr strtn rom Wt r t stronly onnt omponnts? Wt s t topolol sort o G? Lt s mk t DFS tr strtn rom Wt r t stronly onnt omponnts? 14 / 15 15 / 15