Adloun

De la liste d'arêtes aux deux représentations

Exercice · informatique (tronc commun des prépas scientifiques), chapitre 12 — Les graphes : modèle et représentations

Énoncé

Convertir une liste d'arêtes d'un graphe non orienté en listes d'adjacence, et valider la cohérence.

Corrigé

def depuis_aretes(aretes: list, n: int) -> dict:
    G = {s: [] for s in range(n)}
    for (u, v) in aretes:
        G[u].append(v)
        G[v].append(u)  # non orienté : symétrie
    return G

G = depuis_aretes([(0, 1), (0, 2), (1, 2), (1, 3)], 5)
# G vaut {0: [1, 2], 1: [0, 2, 3], 2: [0, 1], 3: [1], 4: []}

On valide le résultat en vérifiant la symétrie de la matrice d'adjacence et en contrôlant que . Le sommet 4, bien qu'isolé, figure correctement dans le dictionnaire avec sa liste de voisins vide.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.