Définition de Graphes et MST Flashcards
(32 cards)
Graphe orienté
Couple (S, A) sommets arcs tels que A définit une relation binaire non symétrique.
(si , sj ) ∈ A =/=> (sj , si ) ∈ A
Graphe non orienté
Couple (S,A) sommets arêtes tel que
A définit une relation binaire symétrique
∀(si , sj ) ∈ S × S, (si , sj ) ∈ A ⇔ (sj , si ) ∈ A (noté {si , sj })
Degré d’un sommet
Nombre de sommets adjacents : d°(s) = #adj(s)
Demi-degré
Demi-degré extérieur d°+(si) = #succ(si)
Demi-degré intérieur d°−(si) = #pred(si)
Graphe non-orienté complet
si ∀{si , sj} ⊆ S, {si , sj } ∈ A
Graphe partiel
G′ = (S, A′) est un graphe partiel de G = (S, A) si A′ ⊆ A
==> graphe obtenu en supprimant certains arcs ou arêtes
Sous-graphe
G′ = (S′, A′) est un sous-graphe de G = (S, A) si S′ ⊆ S et A′ = A ∩ S′ × S′
; G′ est le sous-graphe de G induit par S
Graphe connexe
Un graphe non orienté est connexe si chaque sommet est accessible à partir de n’importe quel autre.
∀(si , sj ) ∈ S2, si ∼ sj
Graphe fortement connexe
Un graphe orienté est fortement connexe si chaque sommet est accessible à partir de n’importe quel autre.
∀(si , sj ), si ∼> sj et sj ∼> si.
Composante connexe de G
Sous-graphe de G connexe et maximal
Composante fortement connexe de G
Sous-graphe de G fortement connexe maximal
Chaîne/chemin
Séquence de sommets < s0, s1, s2, …, sk >
telle que ∀i ∈ [1, k], {si−1, si } ∈ A ( ou (si−1, si ) ∈ A )
Cycle/circuit
Chaîne/chemin commençant et terminant par un même sommet
Arbre
Graphe non orienté G = (S, A) vérifiant
<=> G est connexe et sans cycle
<=> G est sans cycle et possède #S − 1 arêtes
<=> G est connexe et admet #S − 1 arêtes
<=> G est sans cycle, et en ajoutant une arête, on crée un cycle élémentaire
<=> G est connexe, et en supprimant une arête, il n’est plus connexe
<=> ∀(si , sj ) ∈ S × S, il existe exactement une chaine entre si et sj
Forêt
Graphe non orienté dont chaque composante connexe est un arbre
Arborescence
Graphe orienté sans circuit admettant une racine s0 ∈ S tel que ∀si ∈ S, il existe un chemin unique allant de s0 vers si
Structures de données pour représenter un graphe
Liste d’adjacence et Matrice d’adjacence
Matrice d’adjacence
Matrice M telle que M[si ][sj ] = 1 si (si , sj ) ∈ A
et M[si ][sj ] = 0 sinon
Liste d’adjacence
Tableau succ tel que succ[s] = liste des successeurs de s
M^k[si][sj]
Nombre de chemins de longueur k allant de si à sj
Utilité des matrices d’adjacence
Déterminer si un arc existe
Utilité des listes d’adjacence
Accéder à tous les successeurs
Arbre couvrant minimal (MST)
Graphe partiel G ′ = (S, E) de G tel que :
- G′ est un arbre couvrant (G ′ est connexe et sans cycle)
- La somme des coûts des arêtes de E est minimale
MST : coupure d’un graphe
Coupure d’un graphe G = (S, A) : Partition de S en 2 parties (P, S \ P)
Une coupure respecte E ⊆ A si aucune arête de E n’est traversée.
Une arête {si , sj } traverse une coupure (P, S \ P) si #(P ∩ {si , sj }) = 1