Implantation#
Rappels et exemples Python sur les dictionnaires et compréhensions#
Suivez le début du 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 structures 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 est de compléter les méthodes non implantées avant la prochaine séance, en vous appuyant sur la documentation, les commentaires et les tests.
Le rapport contient des vérifications automatiques pour votre code. Utilisez le au fur et à mesure pour suivre votre avancement et complétez le.