informatique (tronc commun des prépas scientifiques) · Chapitre 12 · Exercice de TD
Sauver la matrice creuse — le dictionnaire d'arcs
Les graphes : modèle et représentations · niveau 3 (difficile)
Énoncé
Présenter le modèle en dictionnaire d'arcs {(u, v): poids} et le comparer aux listes d'adjacence.
Corrigé
def listes_vers_arcs(R: dict) -> dict:
return {(u, v): R[u][v] for u in R for v in R[u]}
- Comparatif : cette structure offre une complexité spatiale optimale en et permet d'accéder au poids d'un arc ou de valider son existence en .
- Limite : sa principale faiblesse est l'impossibilité de lister efficacement les voisins d'un sommet. Pour trouver les successeurs de , il faut parcourir l'ensemble des clés du dictionnaire d'arcs, soit un coût prohibitif en (à comparer au coût direct en des listes d'adjacence).