INFO0902 – Data Structures and Algorithms Concepts et définitions

INFO0902 – Data Structures and
Algorithms
Graphes
Justus H. Piater
Concepts et définitions
Graphe
Concepts et définitions 3/40
Définition: Un graphe est (ici) un ensemble
de nœuds (vertices) et un ensemble de paires
d’éléments de , les arêtes (edges).
Deux nœuds liés par une arête sont adjacents.
Le degré d’un nœud est le nombre des arêtes
incidentes.
Exemples?
Graphes orientés
Concepts et définitions 4/40
Une arête peut être orientée (directed) ou non.
Un graphe est orienté si toutes les arêtes sont
orientées.
Une arête orientée a une origine et une destination.
Un nœud peut avoir des arêtes entrantes et des
arêtes sortantes.
Exemples?
Propriétés basiques
Concepts et définitions 5/40
Proposition: Si est un graphe avec arêtes,
alors .
Proposition: Si est un graphe orienté avec
arêtes, alors .
Proposition: Soit un graphe simple avec
nœuds et arêtes. Le nombre des arêtes est : Si
est non-orienté, alors ; si est orienté,
alors .
Graphes pondérés
Concepts et définitions 6/40
Les arêtes sont annotées d’une étiquette numérique,
son poids.
Exemples?
144
802
1235
964 1090
184
1258
2704
867
2342
1121
1391
621 740
849
337 1464
1846
187
DFW
BOS
MIA
LAX
PVD
ORD
SFO
JFK
BWI
TDA, SDD et algorithmes basiques
TDA graphe
TDA, SDD et algorithmes basiques 8/40
Vertices vertices(void);
Edges edges(void);
Edges incidentEdges(Vertex v);
Vertex opposite(Vertex v, Edge e);
Array endVertices(Edge e);
Boolean areAdjacent(Vertex v, Vertex w);
Object replace(Vertex v, Object o);
Object replace(Edge e, Object o);
Vertex insertVertex(Object o);
TDA graphe (suite)
TDA, SDD et algorithmes basiques 9/40
Edge insertEdge(Vertex v, Vertex w, Object o);
Object removeVertex(Vertex v);
Object removeEdge(Edge e);
Structure de liste des arêtes
TDA, SDD et algorithmes basiques 10/40
Deux conteneurs et :
Nœud:
une référence vers sa propre position (ou entrée)
dans
une référence vers les données
Arête:
une référence vers sa propre position (ou entrée)
dans
une référence vers les données
deux références vers les nœuds connectés
Regardons un exemple…
Complexité en espace?
Complexité en temps des méthodes?
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !