Implantation#
Exemples Python sur les dictionnaires et compréhensions#
Exercice
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.
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.