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.

(f) (a) : si A n'était pas connexe, l'adjonction d'une arête entre deux composantes ne pourrait créer decircuit.Parcours dans les <strong>graphes</strong>Étant donnée la racine d’un arbre, l’une des tâches les plus communes est la traversée de cedernier en visitant tous ses noeuds dans un ordre bien défini. Dans le chapitre sur les arbres,nous avons défini trois procédures: postfixe, infixe <strong>et</strong> prefixe, pour effectuer c<strong>et</strong>te visite. De lamême manière, dans un graphe G = (V,E) <strong>et</strong> un somm<strong>et</strong> v dans V(G), nous sommesintéressés à visiter tous les somm<strong>et</strong>s qu’on peut atteindre à partir de v. On peut rencontrerdeux types de problèmes dans les parcours de <strong>graphes</strong>:1) Il se peut que tous les autres somm<strong>et</strong>s ne soient pas accessibles à partir du somm<strong>et</strong> de départ. Telest le cas des <strong>graphes</strong> non connexes (voir tableau ci-dessous pour définition).2) Le graphe peut contenir des cycles, <strong>et</strong> on doit s’assurer que l’algorithme ne rentre pas dans uneboucle infinie.Pour remédier aux deux problèmes cités, les <strong>algorithmes</strong> de parcours de <strong>graphes</strong> maintiennent engénéral un bit de marquage pour chaque somm<strong>et</strong> du graphe. Initialement, le bit est à 0 pour tous lessomm<strong>et</strong>s du graphe. Le bit de marquage est mis à 1 quand un somm<strong>et</strong> est visité pendant le parcours. Siun somm<strong>et</strong> marqué est rencontré à nouveau pendant le parcours, il n’est pas visité une deuxième fois.Ceci perm<strong>et</strong> d’éviter les cycles.Une fois l’algorithme de parcours terminé, on peut vérifier si tous les somm<strong>et</strong>s ont été visité enconsultant le tableau de marquage.La stratégie de parcours d’un graphe est alors comme suit :Nous allons discuter, dans ce qui suit, deux procédures: exploration en largeur d’abord <strong>et</strong> explorationen profondeur d’abord.Parcours en largeur d’abord (Breadth First Search, BFS)La stratégie de c<strong>et</strong>te exploration est comme suit: on commence au somm<strong>et</strong> v <strong>et</strong> le marquercomme étant visité. L’ensemble des somm<strong>et</strong>s adjacents à v sont visités. Ensuite, lessomm<strong>et</strong>s non visités de ces éléments sont à leur tour visités, <strong>et</strong> ainsi de suite, jusqu’à visitertous les somm<strong>et</strong>s.void BFS (int debut) // debut étant le somm<strong>et</strong> de départ{13

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

Saved successfully!

Ooh no, something went wrong!