Vous êtes sur la page 1sur 5
IUT Lyon Tnfermatiqué Théorie des Graphes, 2011-2012 capt [ Parcours de graphes Beau probes es anya nfcesitent qu'on puceat Tere lees semmnotset des anes anetes Ju graph, Nous alls éturlicr dans ce capitre kes denx principals stratéqies desperation = Te parcours on Ihngcur consiste & explorer les sommets da graphe niseau par niveat & paatir dun scmmet lent = le pancomns et preferndenr cen pits & faite des retoms en att (6. partir d'un sommet donné, 4 stivre un chemin le plus lein possible re pour repretdie (cus Tes chemins ignores précésleamment, Dane les dents cas, Palgprithme proctde par colorings des scmmets : = Initialemnent, tons les | couleur(si] « Blane 6 seo + dec{so] « tps s campile(, so) 9 couleur[so] € gris to tant que si_tide(P) = faus faire Lf tps tps 1 12 | 5; @ sommet(P) 8 1 © suce(s;) fel que couleur{s;] = blane alors u ceapile(P, ,) bs couleur|s;) © gris 1 MIs] — 3, 7 dec|s;] < ts us | sinon » * tour Tes sttccosseus de sont gtis ot nets * 2 epile(P, 35) a couleurls,] & noir 2 Sinis\] © tos BFS, Par conséquent, si le araphe contient n sommets (accessibles 2 partir de so) ct p ates aretes. alors DFS Complesité : Chaenie sommct (accessible depnis $0) et mis, puis enleyé. ume feis dans In pile, comme dans sora et = O(n?) dans le cas dhune impkimentaticn par matric Cadjaccrre = O(n +p) canis le cas Cane implementation par listes Wexljacenn Cet aluprithine pent serine réemsivement sans utiliser de pile explicite (weir algorithie £ Dane ce cae, le structures de données Il, couleur. tps, dee ot fin sont «es variables slobales ot il ost nécessaire Jo Ice initialiser anparavar potion des dea detnienes (soir algorithne Ta complexité de cot algcrithme est Ia meme que sa version iterative os IUT Lyon Ingcrmatiqn’ Théorie des Graphs 2OUL-2012 Algorithme 4 : parcours cn profendeur récursif (DF'Srec)(S, A, so) Entrées : 5 cnscnble des scamnr 1 dec|so] & tps 2 tps tps +1 3 couleur|sa] @ gris 4 A cuscnible des ais AICte, So Somumuct de depart pour fou! s, € suee(s0) fai couleur s,| = blane alors | tere. + | LORS asy + couleurs] © noir B fin|so] @ tps 10 tps e tps +1 Algorithme 5: ink Drsiec(s) Entrées : Scheele des scm 1 pour fon! semmet 5, € S faire 2 | Ills.) < nat a couleur{s,] @ Blane 4 tps 0 2.5 Applications du parcours en profondeur 2.541 Recherche des composantes connexes Pour rechercher les ccmposantes connexes dum graphe non crienté, on peut provéder comme avec le parcours ui largenr, Cesteislive appar itérativement DEStee A partir tescrmots blancs, sh ce que totts les scunmets soient noite: Ie netbre ‘Pappas & DFStee come=paad att netmbre de ccmpesantes cernexes {alleorithime 6) ‘Algorithme 6 + patcom= ch protcudeur elcbal DP SeloballS, A) Tintrées : S cnscble dks sctnmiets, A ensemble des alvtes 1 init DESre<() 2 tant que 3s; € $ fol que couleur{si] = blane faire 3 | s; appartiont & une novell ccmporante connexe * 4 DFStec(S, 4,54) 2.5.2 Recherche de circuits eyeles Tors du parccurs en profondeur dim sraphe orient (resp. nom orient). un successeur sy da scmmet ‘conant" 5; at sommet dc a pile cst da tis, cela impliqe qu'il existe um chetuin (resp. mie chase (2 micins qe cone soit set pete dans Farbotescenee}) permmttant Taller de sj vers: et done qq'll existe un citenit esp. un eve). Nine, 1m algotithme peur detecter les ciacnits (resp. les cvdes) Pun graphe pent etre obtent nn rajoutant dans Valeoritlime DFStec instruction si couleur[ss] = gris alers afficher, "existence d'un circuit!) (esp, si couleur[s;] = gris ct sj # Tso] alcrs afficher("existence dim cycle") juste A la fin de la bourle "pou tett_ sj € suce(so) faite" (aprés Ta ligne 7). De la méme facets le patectns et proforideur permet de sconstir si tn graphe pors¢de plusieurs chetnine 6Fmentaites entre den sommiets, En offet, si ers di parcours, ni profonkkt, tm sticeesscur 3, ct sommet "comant” 5, att sommect de Ia pile est dA noir, cela implique qq sxiste deja un chemin permettant Caller chum ancetre de sy vers 85 2.5.3 Tri topologicque des sommets d'un graphe orienté Le tri topclogique d'un graphe orienté sans circuit @ = (S.A) consiste A crdormer linéairement tcus $05 sommets dle telle sorte que si Pare (1,2) dors tr apparaisse avant v. (Si le exapho comporte des citeuits, wicun crdre Tinéaire nest possible) Le tri tepologique d'un graphe peut tre yu comme un alignement de ses) somnmet= le lone Tine ligne hictizontale de telle sorte que tens Tes arcs dt eraphe soiont otfentes de gatiche 8 roit IUT Lyon Ingcrmatiqn’ Théorie des Graphs 2OUL-2012 Théoréme 2.1 Apris Henve on de DE Solel ane (54,83) EA, on a finls,] < finls En effet, A Pappa de DPStec(S, A, si): = si.sj est ncir alers fin[s,] < tps'< fin|si ~ sis; est blane slots dee[s,] = tps < decls,] < fin[sy] < fifi fy He peut pas Gtre gris car ga impliquerait Voxistence Tm cenit. Par consequent. pour obtenir tn tri topolcsique des scramets d'un graph, il suit pis de tier ies sctumets par crche de xaleur de fin déeroissante, D'me fagen plas pinérak Sans cnet sont utilis dans de nombrenscs applications pour repr les sommets représcntent les évenements, et Ics pamict de trier les événements de tlle sorte «gran 6 Joivent Ie préeécen, éeuter DESghobal Ies graphs orients anter des précédences entre événements, atiens cle préetdence. Dans ce cas. um ti topologique niement nrappatait qwvapres tous ks éenctents «Ui 2.5.4 Recherche des composantes fortement connexes d'un graphe orienté Les 2ithme 7 permet de rechercher les composantes fertement connexes dtm graph orients. Algorithme 7: weherde Ke com Entrées: 5 eascullle des sommets, A ene Ser Sorties : nbefe nombre de composantes ferteument connexes 1 DFSglobal(s, A) 2 inversor Ies sens de tous les ares da graphy 2 trier les scrmmets par ordie de valeurs de fin décroissant dans un tablean 4 init DFSie(S) 5 nbefe 0 6 tant que Ist Complesité : Cot jane » In meme complesité qu'un parcoms cn profondeur. pour peut que Fou trie Tes commits par odie de macro de fin cKeroissant au fur et 4 mesure dit parcours et profondeur Gaatrement dit bnque fis que Von affecte un numéro de fin A tan sommet. ch Finsere att scammet une liste), eMeH CONNER (SA, bo Fe) couleur|si] = blane faire ¢ blanc dans le tableau t

Vous aimerez peut-être aussi