Choisir une structure de données adaptée (matrice d'adjacence ou dictionnaire de listes) pour coder un graphe et en explorer les arêtes et voisinages.
Choisissez une approche :
En utilisant une matrice d'adjacence (tableau numpy 2D) pour un accès au poids d'une arête
On code un graphe à sommets par un tableau où vaut (ou le poids) si est une arête, et sinon.
En utilisant un dictionnaire de listes d'adjacence pour parcourir les voisins d'un sommet
On représente un graphe par un dictionnaire associant à chaque sommet la liste de ses voisins, ce qui rend l'itération sur les voisins directe et économique en mémoire pour les graphes peu denses.