1
1
1
Pour un arc u = (xi, xj), xi est l’extrémité initiale, xj l’extrémité finale (ou bien
l’origine et la destination). L’arc u parte de xi et arrive à xj .
3) Boucle
On appelle boucle : un arc dont l’extrémité initiale est égale à son
extrémité finale. Par exemple : (x , x) est une boucle. x
Dans un graphe non orienté, la paire de sommets (x1 , x2) représente une arête
(n’est pas orientée. Autrement dit, (x1 , x2) et (x2 , x1) représentent la même arête ).
C C
A A
G G
D D
F F
E E
x3 0 0 0 x3
Remarque :
Place mémoire utilisée : n2 pour un graphe d’ordre n = | X |,
Cette matrice peut contenir uniquement les valeurs 0, 1, -1. Une case indique la
relation qu’il existe entre un nœud et un arc.
1 : le sommet est l’extrémité initiale de l’arc,
-1 : le sommet est l’extrémité finale de l’arc.
0 : tous les autres cases sont nulles. u1
Exemple :
x1 x2
u2
u1 u2 u3 u4
x1 1 -1 1 0
u3 u4
x2 -1 1 0 1
x3 0 0 -1 -1 x3
Remarques
Place mémoire utilisée : n × m,
la somme de chaque colonne est égale à 0 (un arc a une origine et une
destination).
Si le graphe est non orienté, le coefficient de la matrice d'incidence en ligne i
et en colonne j vaut :
1 : si le sommet est une extrémité de l'arête
2 : si l'arête est une boucle
0 : sinon
3) Listes d’adjacences
On utilise un tableau à n cases de pointeurs, chaque case i pointant vers la liste
chaînée des sommets sortants.
A.merabet – centre universitaire de Mila – 2020
5
Deux arcs sont adjacents s’ils ont au moins une extrémité commune.
K5
4) Applications multivoques
Soit G = ( X , U ) un graphe orienté , Γ est appelée une application multivoque
Si u = (xi , xj) Alors :
xi est le prédécesseur de xj
xj est le successeur de xi
L’ensemble des successeurs de xi est noté Γ+1 ( xi )
L’ensemble des prédécesseurs de xi est noté Γ-1( xi )
Exemple : X={ x1 , x2 , x3 , x4 , x5 }
2) Le Graphe Partiel :
On obtient le Graphe Partiel Gp en enlevant une ou plusieurs arêtes au graphe G.
Soit un graphe G=(X,U):
A.merabet – centre universitaire de Mila – 2020
8
Exemple:
Chercher le sous-graphe partiel Gsp en enlevant le nœud 5 et les arêtes {u2, u5}
a. Enlever sommet 5 (sous-graphe)
X’ = {1, 2, 3, 4, 6} et U’’ = {u1, u2, u3, u4 }
b. Enlever les arêtes { u2, u5 } (graphe partiel)
X = {1, 2, 3, 4, 5, 6} et U’ = U - {u2, u5 } = {u1, u3, u4, u6 }
c. Le Résultat un sous-graphe partiel Gsp = (X’ , U’ ∩ U’’)
Remarques
L’extrémité initiale de la chaîne est l’extrémité initiale de la première arête.
L’extrémité finale de la chaîne est l’extrémité finale de la dernière arête.
Un circuit ou un cycle est une séquence circulaire, donc il n y a pas d’extrémité
initiale ou finale.
5) Chemin, Chaîne simples
Un chemin simple est un chemin qui ne contient pas plusieurs fois le même arc.
Une chaîne simple est une chaîne qui ne contient pas plusieurs fois le même arc
ou arête.
ch1 = { u2 , u7 } =
{(A,C);(C,E)}
Un chemin de A à E
ch2 ={u2 , u4 , u3 , u2 , u7 } =
{(A,C);(C,F);(F,A);(A,C);(C,E)}
Un chemin de A à E
G1, G2, G3 : sont des graphes connexes, mais pas G4 n’est pas connexe par ce qu’il
n y a aucune chaîne entre x1 et x3 ou entre x2 et x3
1 : Graphe fortement connexe 2 : Graphe n’est pas fortement connexe
X’ ← X1 ∩ X2 ;
Fin
Algorithme 1 : (version 2)
Rechercher une composante fortement connexe à partir d’un sommet a
Entrées : G=(X ; U) un graphe, a un sommet.
Sortie : X’ un sous ensemble de sommets
Début
1. Marquer a par +/-
2. Sur l’ensemble des sommets non marqués par +/-
Marquer + tout sommet suivant d’un sommet marqué par +
Marquer − tout sommet précédent d’un sommet marqué par –
3. X’ = tout sommet marqué par +/-
Fin
A.merabet – centre universitaire de Mila – 2020
16
En utilisant l’algorithme 1 :
X1 ← {x , x , x , x , x , x ,
1 2 3 8 4 5
x ,x }
7 6
X2 ← {x , x , x , x , x }
1 2 4 3 5
X’ ← {x , x , x , x , x }
1 2 4 3 5
En utilisant l’algorithme 2 :
X’ ← {x , x , x , x , x }
1 2 4 3 5
Algorithme 2 :
La recherche de toutes les composantes fortement connexes :
Choisir au hasard un sommet et déterminer, grâce à l’algorithme précédent, la
composante fortement connexe qui le contient. On obtient alors une première
composante fortement connexe C1.
Ensuite, parmi les sommets qui ne font pas partie de C1, on en prend un autre
sommet au hasard pour déterminer la composante fortement connexe qui le
contient. On obtient C2,
On recommence jusqu’à ce que tous les sommets appartiennent à une
composante fortement connexe.
Algorithme 2 :
La recherche de toutes les composantes fortement connexes :
Entrées : G=(X ; U) un graphe.
Sortie : C = {C1,…, CN} un ensemble de composantes connexes.
A.merabet – centre universitaire de Mila – 2020
17
Remarques Générales:
La somme des degrés des sommets est égale au double du nombre d’arêtes.
Le nombre de sommets de degré impair est pair.
Dans un graphe non orienté, le degré de chaque sommet est le nombre
d’arêtes dont il est l’une des extrémités (Il ne faut pas oublier de compter deux
fois les boucles, car le sommet est deux fois l’extrémité de cette arête).