Bibliothèque de graphes

Bibliothèque de graphes

Vous retrouverez dans graph.py le squelette de la classe Graph que vous avez implanté la séance dernière. Remplacez-le par votre implantation, puis vérifiez que tout fonctionne:

from graph import Graph, examples
G = Graph([1,2,3], edges=[(1,2,"12"),(2,3,"23")])
# TODO Generalize the assertion to not depend on the edge order
assert G.edges() == ((1, 2, '12'), (2, 1, '12'), (2, 3, '23'), (3, 2, '23'))
G.show()
G = examples.cours_1_G()
G.edges()
assert G.number_of_nodes() == 6

Maintenant, lancez tous les tests inclus dans la documentation des fonctions:

from utils import code_checker
code_checker("pytest graph.py")
code_checker("flake8")
code_checker("mypy graph.py")

Évaluation de l’implantation des méthodes et de la complexité

from utils import show_source
show_source(Graph.successors)
show_source(Graph.predecessors)
show_source(Graph.capacity)
show_source(Graph.is_path)