11.07.2015 Views

Chapitre 5 Les graphes et leurs algorithmes - UQAC

Chapitre 5 Les graphes et leurs algorithmes - UQAC

Chapitre 5 Les graphes et leurs algorithmes - UQAC

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ordre de parcours : A,C,E,D,F,BComplexité : Il est clair que c<strong>et</strong>te complexité est donnée par celle de la boucle while. Comme unsomm<strong>et</strong> n’est jamais visité plus d’une fois, c<strong>et</strong>te boucle est au plus répétée n fois. Le nombred’itérations de la boucle for est proportionnel au degré de chaque somm<strong>et</strong> u+1 (le +1 car même sidegre(u)=0, la boucle fera quand même le test) . En additionnant sur les somm<strong>et</strong>s, on obtient :∑T ( n)= O(n + deg re(u)+ 1) = O(2n+ 2e)= O(n + e)u∈VParcours en profondeur d’abord (Depth First Search, DFS)La stratégie de c<strong>et</strong>te méthode est comme suit: On commence par v qu’on marque comme visitée.Ensuite, un somm<strong>et</strong> adjacent w adjacent à v est choisi <strong>et</strong> un parcours en profondeur d’abord esteffectué à partir de w. Quand un somm<strong>et</strong> u est atteint tel que tous les somm<strong>et</strong>s qu’ils lui sont adjacentssont visités, alors on choisit un somm<strong>et</strong> adjacent du dernier somm<strong>et</strong> visité <strong>et</strong> on recommence laprocédure jusqu’à ne plus avoir de somm<strong>et</strong>s adjacents non visité. En terme algorithmiques, on obtientce qui suit :void DFS(int v) // v étant le somm<strong>et</strong> de départ {pour i allant de 1à n faireinitialiser marquer [i] = 0;marquer [v] = 1Pour chaque somm<strong>et</strong> w adjacent à v fairesi marquer [w] = 0 alors DFS(w)finpour }15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!