Comment représenter et parcourir un graphe en Python ?
En utilisant un dictionnaire de listes d'adjacence pour parcourir les voisins d'un sommet
L'objectif
Représenter un graphe en Python par un dictionnaire {sommet: [voisins]} et itérer efficacement sur les voisins d'un sommet.
Le principe
À chaque sommet on associe la liste de ses voisins ; pour un graphe non orienté, et le coût d'itération sur les voisins de est proportionnel à son degré, sans balayer les sommets.
La méthode
- 1Je crée le dictionnaire
Gen associant à chaque sommet une liste (initialement vide ou directement remplie) de ses voisins. - 2Pour chaque arête , j'ajoute à
G[s]et, si le graphe est non orienté, àG[t]. - 3Pour parcourir les voisins d'un sommet , je boucle simplement sur
G[s]; je peux aussi écrire une fonctionvoisins(G, s)qui renvoieG[s].
Exemple corrigé
Difficulté croissante de 1 à 3
Exercices aujourd'hui0 / 3
Prêt à t'entraîner ?
Génère un exercice personnalisé sur cette méthode et entraîne-toi avec la correction IA.