Implantation#
Rappels et exemples Python sur les dictionnaires et compréhensions#
Suivez le tutoriel Comprehensions, Iterators, and Iterables.
Puis analysez les exemples suivants:
l = [3,2,1,0]
[ i**2 for i in l ]
l = ["a", "z", "b"]
d = {l[i] : i for i in range(len(l))}
for v in d.keys():
print(v)
[(v, 1) for v in l]
Conversions#
Exercice
Choisissez une des structure de données de graphes que l’on a vues (liste d’arêtes, dictionnaire des voisins, dictionnaire d’arêtes, matrice d’adjacence), ou une autre.
Implantez ci-dessous des fonctions Python from_matrix
, from_edges
,
from_neighbor_dict
, from_edge_dict
. Par exemple, la fonction
from_matrix
prendra un graphe représenté par une matrice d’adjacence
et renverra le même graphe dans la structure de donnée que vous avez
choisi.
Testez systématiquement ces fonctions – avec des tests automatiques – sur les exemples de la fiche précédente.
# VOTRE CODE ICI
raise NotImplementedError()
Une classe graphe#
Exercice
Le fichier graph.py contient un squelette de classe pour représenter des graphes. Votre mission pour la prochaine séance est de compléter les méthodes non implantées. Le rapport contient des vérifications automatiques pour votre code. Utilisez le au fur et à mesure pour suivre votre avancement et complétez le.