Implantation

Rappels et exemples Python sur les dictionnaires et compréhensions

Suivez le tutoriel suivant: http://doc.sagemath.org/html/en/thematic_tutorials/tutorial-comprehensions.html

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 vu (liste d’arêtes, dictionnaire des voisins, dictionnaire d’arêtes, matrice d’adjacence).

Implantez 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 ces fonctions sur les exemples de la fiche précédente.

Une classe graphe

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.