Contenu du cours
Aperçu des Algorithmes et des Structures de Données
Aperçu des Algorithmes et des Structures de Données
Qu'est-ce Qu'un Graphe
Un graphe est une structure mathématique composée de deux ensembles appelés ensemble de sommets et ensemble d'arêtes. Le graphe est noté G(V, E). Bien sûr, les sommets d'un graphe sont reliés par des arêtes.
Les arêtes et les sommets d'un graphe peuvent représenter différentes entités. Par exemple, dans les réseaux sociaux, les sommets d'un graphe peuvent représenter des personnes, et les arêtes peuvent représenter les relations entre ces personnes.
from lolviz import * from IPython.display import display_png graph = graphviz.Digraph() graph.node('Will') graph.node('Sam') graph.node('Mike') graph.node('Jack') graph.node('Diana') graph.node('Nadia') graph.edge('Will', 'Sam', label='follows') graph.edge('Will', 'Mike', label='follows') graph.edge('Will', 'Diana', label='follows') graph.edge('Sam', 'Mike', label='follows') graph.edge('Sam', 'Diana', label='follows') graph.edge('Mike', 'Will', label='follows') graph.edge('Mike', 'Sam', label='follows') graph.edge('Mike', 'Nadia', label='follows') graph.edge('Jack', 'Will', label='follows') graph.edge('Jack', 'Nadia', label='follows') graph.edge('Diana', 'Will', label='follows') graph.edge('Diana', 'Jack', label='follows') graph.edge('Diana', 'Nadia', label='follows') graph.edge('Nadia', 'Diana', label='follows') graph.edge('Nadia', 'Jack', label='follows') graph.edge('Nadia', 'Sam', label='follows') display_png(graph)
D'autre part, les sommets peuvent représenter des croisements de rues, et les arêtes peuvent représenter les rues.
from lolviz import * from IPython.display import display_png graph = graphviz.Graph() graph.node('Catalonia Square') graph.node('University Square') graph.node('Spain Square') graph.node('Drassanes Square') graph.edge('Catalonia Square', 'University Square', label='University Roundabout') graph.edge('University Square', 'Spain Square', label='Gran Via de les Corts Catalanes') graph.edge('Spain Square', 'Drassanes Square', label='Parallel Avenue') graph.edge('Drassanes Square', 'Catalonia Square', label='La Rambla') display_png(graph)
De plus, nous pouvons attribuer un poids à une arête d'un graphe qui indiquera le coût de passage d'un sommet à un autre par cette arête.
Comme vous l'avez vu ci-dessus, les graphes peuvent être orientés et non orientés. Cela dépend de la nature de la tâche sous-jacente et du type de graphe que nous devrions choisir.
Merci pour vos commentaires !