Mathématiques > Graphes (Terminale - Spécialité) > Parcours et Algorithmes > Connexité
Algorithme d'identification des composantes connexes d'un graphe
Découvrez un algorithme simple et efficace pour identifier les composantes connexes d'un graphe, étape par étape, avec un exemple détaillé.
Présentation de l'algorithme
Cet algorithme a pour objectif de déterminer les différentes composantes connexes d'un graphe donné. Il utilise un parcours en profondeur (DFS) ou en largeur (BFS) pour explorer le graphe et identifier les ensembles de sommets connectés entre eux.
Étapes de l'algorithme
Exemple détaillé
Considérons le graphe suivant (représenté par une liste d'adjacence):
Appliquons l'algorithme:
Résultat: Le graphe a trois composantes connexes: {A, B, C, D}, {E, F}, et {G}.
Choix entre DFS et BFS
On peut utiliser soit le parcours en profondeur (DFS), soit le parcours en largeur (BFS) pour implémenter l'algorithme. Les deux méthodes sont valables. En général, le DFS est plus simple à implémenter de manière récursive, tandis que le BFS est plus adapté pour trouver le chemin le plus court entre deux sommets.
Complexité de l'algorithme
La complexité de l'algorithme est O(V + E), où V est le nombre de sommets et E est le nombre d'arêtes du graphe. Cela est dû au fait que chaque sommet et chaque arête sont visités au plus une fois lors du parcours (DFS ou BFS).
Ce qu'il faut retenir
FAQ
-
L'algorithme fonctionne-t-il pour les graphes orientés ?
Non, cet algorithme identifie les composantes connexes, pas les composantes fortement connexes. Pour les graphes orientés, on utilise des algorithmes différents pour trouver les composantes fortement connexes. -
Est-ce que l'ordre de parcours des sommets affecte le résultat de l'algorithme ?
Non, l'ordre de parcours des sommets n'affecte pas le résultat final, c'est-à-dire les composantes connexes identifiées. Cependant, l'ordre dans lequel les sommets sont visités au sein d'une même composante peut varier en fonction de l'ordre initial.