Parcours de graphe

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En théorie des graphes, un parcours de graphe est un algorithme consistant à explorer les sommets d'un graphe de proche en proche à partir d'un sommet initial.

Le mot parcours est également utilisé dans un sens différent, comme synonyme de chemin (un parcours fermé étant un circuit).

Algorithmes de parcours[modifier | modifier le code]

Il existe de nombreux algorithmes de parcours. Les plus couramment décrits sont le parcours en profondeur et le parcours en largeur. L'algorithme de Dijkstra et l'algorithme de Prim font également partie de cette catégorie.

Les algorithmes de parcours n'ont pas une finalité intrinsèque. Ils servent comme outil pour étudier une propriété globale du graphe, comme la connexité ou la forte connexité ou l'existence d'un point d'articulation[1].

Un parcours d'un graphe est un procédé qui permet de choisir, à partir des sommets visités, le sommet suivant à visiter. Le problème consiste à déterminer un ordre sur les visites des sommets. Une fois le choix fait, l’ordre des visites induit une numérotation des sommets visités (l'ordre de leur découverte) et un choix sur l'arc ou l’arête utilisé pour atteindre un nouveau sommet à partir des sommets déjà visités.

Les arcs ou arêtes distingués forment une arborescence ou un arbre, et les numéros des sommets sont croissants sur les chemins de l’arborescence ou les chaînes de l'arbre depuis la racine.

Algorithmes utilisant des parcours de graphes[modifier | modifier le code]

Les algorithmes de parcours servent dans la résolution d'un certain nombre de problèmes parmi lesquels :

Complexité[modifier | modifier le code]

Pour la réalisation d'un parcours, il est en général nécessaire de mémoriser quels sont les sommets déjà explorés par l'algorithme, de sorte de ne pas répéter une visite d'un sommet déjà explorer. De manière pratique, cela peut être réalisé par une marque distinctive (une « couleur » ou un état spécial) associé à chaque sommet et qui est maintenu attesté durant l'algorithme. Lors de l’exploration d'un sommet, on le marque comme nouvellement découvert à la première visite, et on arrête la visite lors d'une rencontre ultérieure. L'espace occupé par de tels indicateurs est constant pour chaque sommet. Une telle mémorisation n’est pas nécessaire pour les parcours d'arbres.

La complexité d'un algorithme de parcours en lui-même est en O(n+m), où n est le nombre de sommets et m le nombre d'arcs ou d'arêtes; il est donc linéaire[1]. Un algorithme utilisant comme brique de base un algorithme de parcours peut être de complexité supérieure. L’algorithme de test de planarité de Robert Tarjan exploite des numérotations induites par plusieurs parcours[2].

Notes et références[modifier | modifier le code]

Articles liés[modifier | modifier le code]

Sources[modifier | modifier le code]