Vous êtes sur la page 1sur 20

Université Kasdi Merbah, Ouargla.

Faculté des Nouvelles technologies de


l'information et de la communication
Département de l’informatique
et
Technologies de l'information
2 eme année Ingénieur

Module : Théorie des graphes


Cours : Saadi Wafa.

Concepts de base liés à la théorie des graphes

1
1. Introduction

Dans ce chapitre nous introduisons un concept, celui de graphe. Un graphe (graph) est un objet
mathématique simple et puissant qui permet de modéliser et de résoudre de nombreux
problèmes. L'utilisation des graphes est courante en tant qu'outil de représentation
particulièrement en informatique : par exemple, le plan schématisé de rues, un arbre
généalogique, la représentation d'un réseau informatique sont des exemples de graphes.

La théorie des graphes est un domaine mathématique qui ouvre un grand champ de
modélisation conduisant à des solutions efficaces pour de nombreux problèmes dans un grand
nombre de domaines allant de la science fondamentale aux applications technologiques
concrètes. Elle nous offre des outils mathématiques et des algorithmes pour la modélisation et
l’étude des situations particulières dont l’objectif est de résoudre des problèmes.

2. Qu’est-ce qu’un graphe ?

Intuitivement, Un graphe est un ensemble de points, dont certaines paires sont directement
reliées par un ou plusieurs liens (relation binaire). Ces points sont nommés nœuds ou sommets.
Ces liens sont nommés arêtes ou arcs. Un graphe peut être donc orienté ou non selon que la
relation binaire sous-jacente est orientée ou pas.

En effet, un graphe sert avant tout à manipuler des concepts, et à établir un lien
entre ces concepts. N’importe quel problème comportant des objets avec des relations entre
ces objets peut être modélisé par un graphe.

Exemple1.1

Un site internet est composé de cinq pages notées A, B, C, D et E. En un clic, on


peut passer d'une page à certaines autres selon les possibilités suivantes :
• De la page A, on peut passer en un clic aux pages C et E.

• De la page B, on peut passer aux pages A et D.

• Depuis la page C, on peut accéder à la page B ou rester sur C.

• Quand on est sur la page D, on peut seulement aller sur la page C et de la page E, on ne peut
aller que sur la page A.

On peut modéliser cette situation avec un graphe, tel que les nouds (sommets) sont les pages
du site internet et les liens (arcs) sont le passage en un clic d’une page à une autre.

2
3. Vocabulaire et notations

3.1. Définition d’un graphe non orienté

Un graphe (non orienté) G est défini par deux ensembles finis : un ensemble V, non vide,
d'éléments appelés sommets, un ensemble E (qui peut être vide) d'éléments appelés arêtes
avec associés à chaque arête e deux sommets x et y, distincts ou non, appelés les extrémités de
e.

Plus formellement, un graph noté G= (V, E) est définit par deux ensembles disjoints. Un
ensemble V = {v1, v2, · · · , vn} de sommets (vertex), et un ensemble d’arêtes (edge) E={e1, e2, ·
· · , em} , Une arête ei est une paire (non ordonnée) des éléments de V, elle relie deux sommets
entre eux.

On note habituellement par n le cardinal de V, c'est-à-dire le nombre de sommets du graphe G,


et par m le cardinal de E, c'est-à-dire le nombre d'arêtes du graphe G. La paire des extrémités x
et y d'une arête ei est notée ici simplement xy (ou yx), au lieu de la notation mathématique
habituelle {x, y} lorsque x ≠y.

3.2. Représentation graphique d’un graphe

Les graphes tirent leur nom du fait qu’on peut les représenter graphiquement par des dessins.
Il est plus pratique de dessiner les graphes sur un plan de la façon suivante : les sommets sont
représentés par des points, les arêtes par des lignes simples qui relient les points extrémités
correspondant aux sommets concernés. Néanmoins, il ne faut pas confondre un graphe et son dessin
: un même graphe peut être dessiné de plusieurs façons. La lisibilité de la visualisation
est une question importante. Il existe donc une infinité de représentations d’un graphe.

Exemple 1.2

Soit un graphe G = (V, E) tel que V= {a, b, c, d, e}, E = {{b,c},{c,d},{d,e},{e,c}}

Par commodité, on notera bc au lieu de {b, c}. On a donc bc = cb. Il est donc possible de réécrire
le graphe G de la façon suivante:

G = (V, E). tel que V = {a, b, c, d, e}, E = {bc, cd, de, ec}).

3
On peut représenter un tel graphe par le schéma suivant :

G
Figure 1.1 : représentation graphique du graphe G

3.3. Ordre et taille d'un graphe

Le nombre n de sommets s'appelle l'ordre du graphe G. On le note parfois |G| (qui est donc égal
au cardinal de l'ensemble V, noté |V|).

Le nombre m d'arêtes s'appelle la taille du graphe G. On le note parfois ||G|| (qui est donc égal
à |E|).

Dans l’exemple 1.2, on a |G|=|V|=5 et ||G||=|E|=4.

3.4. Incidence, adjacence et voisinage

Si x et y sont deux extrémités d’une arête ei (ei = xy est une arête de G), on dit que x et y sont
des sommets voisins ou adjacents et ei est une arête incidente aux sommets x et y.

On dit que deux arêtes sont adjacentes s’il existe un sommet commun à ces deux arêtes.

Dans le graphe G de l'exemple 1.2, les sommets b et c sont voisins (adjacents) tandis que b et d
ne le sont pas. Le sommet a n'a aucun voisin. L’arête bc et adjacente à l’arête cd. L’arête ed et
incidente aux sommets e et d .

Le voisinage d'un sommet x de G, noté N(x), est l'ensemble de ses voisins.

Dans le graphe G de l'exemple 1.2, on a N(d) = {c,e} et N(a) = ∅.

3.5. Boucle et arête multiple

Une boucle est une arête reliant un sommet à lui-même. Si l’arête ei =xy avec x=y alors ei est
une boucle.

Deux arêtes ei et ej ou plus sont dites parallèles ou multiples (double, triple, etc., suivant le
nombre d'arêtes) lorsqu’elles ont les mêmes extrémités x et y.

4
3.6. Graphe simple et multigraphe

Un graphe G non orienté est dit simple s’il ne comporte pas de boucle, et s’il ne comporte jamais
plus d’une arête entre deux sommets (ne contient pas d’arête multiples). Un graphe non orienté
qui n’est pas simple est un multigraphe.

Le graphe G de la figure 1.2 est un graphe simple, alors que le graphe H est un multigraphe.

G H

Figure 1.2 : exemple de graphe simple et de multi graphe.

4. Représentation non graphique d’un graphe

4.1. Représentation matricielle

Une façon simple de décrire un graphe, mais qui sert également dans l’application d’algorithme
sur les graphes, est de donner sa matrice d’adjacence ou sa matrice d’incidence.

Soit G= (V, E) un graphe avec un ensemble de sommets V et un ensemble d’arêtes E, tel que
|V|=n (ordre de G) et |E|=m (Taille de G).

4.1.1. Matrice d’adjacence : est une matrice de dimension n×n. Elle indique le nombre d’arêtes
entre deux sommets. Dans une matrice d’adjacences A, les lignes et les colonnes représentent
les sommets du graphe. L’élément aij de la matrice A désigne l’intersection de la ligne i et de la
colonne j. Si aij>0 cela signifie que le sommet i est adjacent au sommet j.

Pour les graphes de la Figure 1.2, nous avons les matrices d’adjacence correspondante
suivantes :
1 2 3 4 5
1 0 0 1 1 1 1 2 3 4
2 0 0 1 0 0 1 1 0 1 1
3 1 1 0 1 1 2 0 0 2 0
4 1 0 1 0 1 3 1 2 0 1
5 1 0 1 1 0 4 1 0 1 0

Matrice d’adjacence correspondante Matrice d’adjacence correspondante au


au graphe G de la figure 1.2 graphe G de la figure 1.2
5
La matrice d’adjacence a plusieurs caractéristiques :

1) Elle est carrée : il y a autant de lignes que de colonnes.


2) si le graphe est un graphe simple, on ne trouve que des zéros sur la diagonale allant du
coin supérieur gauche au coin inférieur droit. Un « 1 » sur la diagonale indiquerait une
boucle.
3) Elle est symétrique : aij = aji . On peut dire que la diagonale est un axe de symétrie.
4) Une fois que l’on fixe l’ordre des sommets, il existe une matrice d’adjacences unique
pour chaque graphe. Celle-ci n’est la matrice d’adjacences d’aucun autre graphe.

4.1.2. Matrice d’incidence : est une matrice de dimension n×m . Elle indique l’incidence entre
un sommet et une arête. Dans une matrice d’incidence M, bij est le nombre
de fois (0, 1, ou 2) où le sommet i et l’arête j sont incidents. Une boucle a une double incidence
sur un sommet, indiqué par 2 dans la matrice.

Exemple 1.3

Soit le graphe G=(V,E) représenté par la figure1.3 et soit sa matrice d’incidence


correspondante.

e1 e2 e3 e4 e5 e6 e7
1 1 1 0 1 0 0 0
2 0 0 0 0 0 0 1
3 0 0 0 1 1 1 1
4 0 1 1 0 1 0 0
5 1 0 1 0 0 1 0

Figure 1.3 : le graphe G

4.2. Représentation en machine

La question de la représentation en machine d'un graphe n'a pas de réponse unique. D'une part
en effet on peut imaginer bien des façons de faire a priori, et d'autre part la représentation d'un
graphe a de l'importance vis- à-vis du traitement qu'on veut effectuer. Le mode de
représentation choisi peut avoir en effet une incidence directe sur l'efficacité de l'algorithme en
termes de complexité.

6
4.2.1. Matrice d'adjacence : La façon la plus naturelle de représenter un graphe G non orienté en
machine est la matrice d'adjacence, c'est la matrice carrée de dimension nn avec n l’ordre du
graphe G. elle représenter sous forme de table de dimension nn.

4.2.3. Listes d’adjacence : Un deuxième principe de représentation d'un graphe est de donner
pour chaque sommet son « voisinage », c'est-à-dire ses sommets voisins. L'implémentation de
cette représentation peut être envisagée de différentes façons, la plus classique, du point de vue
programmation, étant de donner par exemple les voisins sous forme de listes, appelées listes
d’adjacence ou listes de voisins. Si on veut pouvoir modifier le graphe en cours de traitement, il
est indiqué d'implémenter ces listes sous forme de classiques listes chaînées.

Le graphe G de l’exemple 1.3 peut etre représenter en machine par la liste d’adjacence suivante :

1  5 4 3 /
2  3 /
3  3 / 4 5 /

4  3 1 5 /

5 /  1 4 3 /

5. Degré d’un sommet

Le degré d'un sommet x noté dG(x) est égal au nombre d'arêtes de G incidentes à ce sommet,
chaque boucle est comptée comme deux arêtes.

On désigne par δ(G) et ∆(G) respectivement, les degrés minimum et maximum des sommets de
G.

Remarque 1.1

 Un sommet x de degré 0 (dG(x)=0) est un sommet isolé.


 Un sommet x de degré 1 (dG(x)= 1) est dit sommet pendant.
 Si dG(x)= |V| - 1, le sommet x est dit sommet dominant.
 En particulier, si G est un graphe simple, dG(x) est le nombre de voisins de x dans G c’est
alors le cardinal de N(x) et on écrit : xV,dG(x)=|N(x)|.
 Dans un graphe simple le degré maximum ∆(G) n-1.

Dans le graphe G de l'exemple 1.3, on a : dG (5) = 3 car N(5) = {1, 3, 4}, le sommet 2 est un
sommet pendant. Dans ce graphe on a aussi δ(G) = 1 et ∆(G) = 3.

7
Le théorème suivant établit une relation fondamentale entre les degrés des sommets
d’un graphe et son nombre d’arêtes.

Théorème 1.1 (Lemme des poignées de mains)

Dans un graphe G quelconque, on a la somme des degrés des sommets est égale à deux fois le
nombre d’arêtes.

Plus formellement, Soit G = (V, E) un graphe, avec un ordre n et une taille m (|V|=n , |E|=m).

On a :

Preuve : En faisant la somme des degrés de G, on compte deux fois chaque arête, une fois par
extrémité (c'est en particulier vrai pour les boucles puisque chacune compte deux fois dans le
degré). On trouve donc bien au total deux fois le nombre d'arêtes du graphe.

Corollaire 1.1

Dans un graphe (quelconque) le nombre de sommets de degrés impairs est pair.

Preuve : La somme des degrés étant paire, puisqu'égale à deux fois le nombre d'arêtes, il ne peut
y avoir dans celle-ci qu'un nombre pair de termes impairs. Il y a donc un nombre pair de degrés
impairs dans le graphe.

6. Graphes particuliers

6.1. Graphe complet

Un graphe simple (sans boucles) est complet si chaque sommet du graphe est relié directement
à tous les autres sommets. Un graphe complet d’ordre n est noté Kn. La Figure 1.5 montre les
graphes complets d’ordre 1 à 4.

K1 K2 K3 K4

Figure 1.4 : Graphes


8 complets d’ordre 1 à 4.
Remarque 1.2

𝒏(𝒏 𝟏)
 Le nombre d'arêtes m de Kn est égal a : m =
𝟐
 D'une façon plus générale, on a pour un graphe simple quel- conque ayant n sommets et
𝒏(𝒏 𝟏)
m arêtes on a : m 
𝟐

6.2. Graphe bipartie


Un graphe est biparti si ses sommets peuvent être divisés en deux sous ensembles V1 et V2,
de sorte que toutes les arêtes du graphe relient un sommet dans V1 à un sommet dans V2 (toute
arête ait une extrémité dans V1et une extrémité dans V2). Dans l’exemple ci-dessous, on a V=
{1, 3, 5, 2, 4} alors que : V1={1,3,5} et V2 = {2,4}, ou vice versa.

Un graphe biparti complet est un graphe biparti dans lequel il existe une arête entre chaque
couple de sommets (x, y) avec x ∈ V1 et y ∈ V2. La Figure 1.5 montre un graphe biparti G et un
graphe biparti complet K3,4. La notation pour un graphe biparti complet est K avec deux indices,
le premier est le cardinal de l’ensemble V1, le deuxième est le cardinal de l’ensemble V2.

(a) Graphe bipartie G (b) Graphe bipartie complet K3,4

Figure 1.5 : Exemple de graphes bipartis

6.3. Graphe régulier


Un graphe G est dit régulier lorsque les degrés de ses sommets sont tous égaux. On peut préciser
le degré commun k des sommets( xV, dg(x)=k) en disant k-régulier. Par exemple, le graphe
complet à n sommets est (n-1)-régulier et les graphes 3-réguliers sont dits cubiques.

Le graphe de la figure 1.6 est un graphe 4-régulier alors que le graphe G de la figure 1.7 est un
graphe cubique.

9
Figure 1.6 : graphe 4-régulier

6.4. Graphe planaire

Un graphe planaire est un graphe qui peut être représenté dans un plan, sans qu’il y ait d’arêtes
qui s’intersectent (aucune arête ne coupe une autre). Montrer qu’un graphe est planaire est
assez simple. Il suffit de le dessiner. La personne peut alors facilement vérifier qu’il n’y a pas
d’arêtes qui se coupent. En revanche, prouvez qu’un graphe n’est pas planaire est souvent plus
difficile. La figure 1.7 présente un graphe G avec sa représentation planaire, donc on peut dire
que le graphe G est un graphe planaire. Alors que, la figure 1.8 illustre un graphe qui n’est pas
planaire.

(a) Un graphe G (b) représentation planaire de G

Figure 1.7 : Un graphe planaire.

Figure 1.8 : Un graphe non planaire.

10
6.5. Graphe complémentaire d’un graphe

Comme nous l’avons vu plus haut, un graphe sert souvent à représenter des objets (des
sommets) qui sont en relation (des arêtes). Si maintenant, nous voulons représenter ces mêmes
objets mais pour indiquer ceux qui ne sont pas en relation, nous obtenons un autre graphe. Ces
graphes sont dit complémentaires. La Figure 1.9 montre un graphe G = (V, E) et son graphe
complémentaire noté G =(V, E).

Deux graphes simples G = (V, E) et G =(V, E) sont complémentaires si E ∩ E = ∅ et


H = (V, E ∪ E) est un graphe où pour chaque couple de sommets (x, y) l’arête xy existe.

(a) G (b) G

Figure 1.9 : un graphe G et son graphe complémentaire G

6.6. Notion de sous graphe

On a souvent besoin d’isoler une partie d’un graphe ce qui conduit à introduire la notion de
sous-graphe avec quelques définitions.

Un sous-graphe G’=(V’, E’) de G=(V, E) est un graphe tel que V’ ⊆ V et E’ ⊆ E.


Un exemple de graphe et sous-graphe est donné dans la Figure 1.10.

(a) Graphe G (b) sous graphe G’ de G

Figure 1.10 : un graphe et un sous graphe.

11
Deux types de sous-graphes sont très souvent utilisés. Il s’agit des graphes partiels et des sous-
graphes induits.

 Un graphe partiel G’=(V’, E’) de G=(V, E) est un graphe tel que V’ = V et E’ ⊆ E.


Un graphe partiel est parfois appelé sous-graphe couvrant, car ce sous-graphe “couvre” tous
les sommets du graphe initial, mais n’en possède pas toutes les arêtes. Un exemple est donné
dans la Figure 1.11.

(a) Un graphe G (b) Un graphe partiel G’ de G

Figure 1.11 : un graphe un graphe partiel

 Un sous-graphe induit G’=(V’, E’) de G=(V, E) est un graphe tel que V’ ⊆ V et E’ est l’ensemble
des arêtes de E incidentes à deux sommets de V’. On notera ce sous-graphe G[V’].

Un exemple de graphe et sous-graphe induit est donné dans la figure 1.12.

(a) Graphe G (b) sous Graphe G’ induit de G

Figure 1.12 : Un graphe et un sous-graphe induit.

12
6.7. Quelques sous-graphes souvent utiles

Quelques sous-graphes, graphes partiels et sous-graphes induits sont souvent recherchés dans
un graphe pour trouver une solution à un problème.

 Clique : Une clique d’un graphe G = (V, E) est un sous-graphe induit complet. Elle est
définie par : dans un graphe G non orienté, un sous-ensemble de sommets C ⊆ V tel que
toute paire de sommets x, y ∈ C (x ≠ y) est reliée par une arête (arêtes deux a deux
adjacentes) est appelé une clique. Un sommet isolé constitue à lui seul une clique. Une
clique d’ordre n est noté Cn. Si la clique cherché dans le graphe G a une cardinalité
maximum donc on parle de clique maximum.

(a) Graphe G (b) une clique dans G (c) une clique maximum dans G

Figure 1.13 : Exemple de cliques.

 Stable : Dans un graphe non orienté, un sous-ensemble de sommets S ⊆ V tel qu’aucune


paire de sommets x, y ∈ S n’est reliée par une arête (deux a deux non adjacentes) est
appelé un stable. Un sommet isolé constitue à lui seul un stable. Si le stable cherché dans
le graphe G a une cardinalité maximum donc on parle de stable maximum.

(a) Graphe G (b) un stable dans G (c) un stable maximum dans G

Figure 1.14 : Exemple de stables.

13
 Un couplage d’un graphe G=(V, E) est un sous-graphe composé d’arêtes
deux à deux non adjacentes. il est possible de chercher dans un graphe le couplage
maximum, c’est à dire celui contenant le plus grand nombre d’arêtes bien sur deux à
deux non adjacentes.
Remarques 1.3
Un graphe peut posséder plusieurs couplages maximums.
Si le sous-graphe obtenu est un graphe partiel (couvrant tous les sommets du graphe)
le couplage est dit couplage parfait.

La Figure1.15 montre un couplage et un couplage parfait de G.

(a) Graphe G (b) un couplage dans G (c) un couplage parfait dans G

Figure 1.15 : Exemple de couplages.

7. Graphe orienté

Pour représenter certaines situations, un graphe non orienté n’est plus suffisant, Il est parfois
nécessaire de différencier une arête allant de x vers y d’une arête allant de y vers x. on a donc
besoin d’un graphe dans lequel chaque lien possède une orientation, autrement dit d’un graphe
orienté. Il existe de nombreux domaines où les graphes sont orientés. Par exemple : plan de
ville, avec les sens interdits, parcours en montagne, où il est utile d’indiquer le sens de
montée…etc.
On appelle graphe orienté ou digraphe (directed graph) un graphe où chaque arête est orientée,
chaque arête orientée possède un début et une fin, c’est-à-dire qu’elle va de l’une des ses
extrémités, appelée origine ou extrémité initiale à l’autre, appelée extrémité terminale.

14
7.1. Définitions et notations

 Plus formellement, Un graphe G = (V, A) est dit graphe orienté si chaque arête est une paire
de sommets (ordonnée), a ∈ A, a = (x, y). Avec V= {v1, v2, v3,…, vn} est l’ensemble des
sommets et A={a1, a2 ,a3 ,…, am} est l’ensemble des arcs du graphe G.
 Un arc ai de l’ensemble des arcs A est défini par une paire ordonnée de sommets. Lorsque
ai=(x,y), on dit que l’arc ai va de x à y. On dit aussi que x est l’extrémité initiale et y l’extrémité
finale de ai.
 prédécesseur/successeur : pour un arc xy  A, x est le prédécesseur de y, et y est le successeur
de x. Avec x et y deux sommets de V.
 l’ensemble de voisin : pour un sommet x V, l’ensemble de voisins de x noté N(x) est défini
par : N(x)=N-(x)N+(x). Tel que N-(x) est l’ensemble de prédécesseurs (voisins entrants) de
x et N+(x) est l’ensemble de successeurs (voisins sortants) de x.
 boucle, arc multiple et arcs opposés : comme en non orienté, si xy est un arc d’un graphe, si x
= y alors on a une boucle et on parle d’arc multiple dans le cas d'arcs ayant un même couple
(x, y) associé. On peut préciser, suivant le nombre d'arcs concernés: arc double, triple, etc.
Deux arcs ayant pour couples associés respectivement (x, y) et (y, x) sont dits opposés.

Remarques 1.4
 La notion d’ordre et de taille dans un graphe orienté est la même définie pour les
graphes non orientés.
 La relation d’incidence et d’adjacence dans un graphe orienté sont définies de la
même manière dont elles sont définies pour les graphes non orientés.
 Si x appartient à N(y), on dit que x et y sont des sommets voisins ou adjacents.
 Un graphe orienté est simple (ou strict) si il est sans boucles (l’arc et il a au plus
une arête entre deux sommets.
 Un graphe orienté simple est dit complet si toute paire de sommet est relié par un
seul arc.

7.2. Représentation sur le plan d’un graphe orienté

Comme indiqué dans la figure 1.16, les graphes orientés se représentent sur le plan comme les
graphes non orientés avec simplement en plus sur chaque ligne arc une flèche qui indique son
orientation, flèche allant de l’extrémité initiale x vers l’extrémité finale y de l’arc (x, y).

15
Exemple 1.4

Soit le graphe orienté G= (V, A) avec

V = {a, b, c, d, e }

A = {(a, b), (a, c), (c, d), (d, a), (d, e), (e, e)}, on a :

L’ordre de G est 5 alors que sa taille est 6.

N-(a)= {d}

N+(x)= {b, c}

N(x)= {d, b, c}

L’arc (e, e) représente une boucle pour le sommet e. On peut donc remarquer que G n’est pas
un graphe simple.

Le graphe G peut entre représenté graphiquement par la figure 1.16.

Figure 1.16 : Représentation graphique d’un graphe G orienté.

7.3. Degré d’un sommet d’un graphe orienté

Soit x un sommet d’un graphe orienté.

 On note 𝐝 (𝐱)(ou simplement d+(x)) le degré extérieur du sommet x, c’est-à-dire le nombre


d’arcs ayant x comme extrémité initiale.
 On note 𝐝 (𝐱) (ou simplement d-(x)) le degré intérieur du sommet x, c’est-à-dire le nombre
d’arcs ayant x comme extrémité finale.
 On définit le degré d’un sommet x par : 𝐝 (𝐱) = 𝐝 (𝐱)+ 𝐝 (𝐱)

16
Remarques 1.5

 Une source s du graphe G est un sommet de G avec 𝐝 (𝐬)=0.


 Un puits p du graphe G est un sommet de G avec 𝐝 (𝐬)=0.

Dans le graphe G de l’exemple 1.4 les degrés de ses sommets est déterminé comme suit :

d(a) = d+(a)+d-(a) avec d+(a) = 2 et d-(a)=1  d(a) = 2+1 = 3.

De la même manière on peut calculer le degré des sommets de G :

d(b) = 1 , d(c) = 2, d(d) = 3, d(e) = 3.

On peut simplement constater que :

Cette formule prend les boucles en compte, sachant que chaque boucle dans un graphe orienté
est comptée pour une unité de degré extérieur et une unité de degré intérieur au sommet
concerné.

On retrouve la formule sur la somme des degrés donnée au théorème 1.1, en observant que
pour tout sommet x on a 𝐝 (𝐱) = 𝐝 (𝐱)+ 𝐝 (𝐱), d'où:

7.4. Représentation matricielle d’un graphe orienté

Soit un graphe G=(V,A) un graphe orienté d’ordre n (|V|) et de taille m (|A|).

7.4.1. Matrice d’adjacence :

On peut représenter un graphe orienté par une matrice d’adjacences A, c’est une matrice carrée
de dimension (n×n). Dans une matrice d’adjacences A, les lignes et les colonnes représentent
les sommets du graphe. L’élément aij de la matrice A désigne l’intersection de la ligne i et de la
colonne j et indique le nombre d’arcs ayant le sommet i comme extrémité initiale et le sommet
j comme extrémité terminale.

17
Cette matrice a plusieurs caractéristiques :

1) Elle est carrée : il y a autant de lignes que de colonnes.


2) Un « 1 » sur la diagonale indiquerait une boucle.
3) Contrairement à celle d’un graphe non orienté, elle n’est pas symétrique.
4) Une fois que l’on fixe l’ordre des sommets, il existe une matrice d’adjacences unique pour
chaque digraphe. Celle-ci n’est la matrice d’adjacences d’aucun autre digraphe.

7.4.2. Matrice d’incidence

On peut représenter un graphe orienté sans boucles par une matrice d’incidence M, c’est une
matrice de dimension n×m. Elle indique l’incidence entre un sommet et un arc. Dans une
matrice d’incidence M, un élément bij est défini comme suit :

1 si le sommet i est l’extrémité initiale de l’arc j

bij = -1 si le sommet i est l’extrémité terminale de l’arc j

Exemple 1.5 0 sinon

Soit le graphe orienté G=(V, A) tel que :

V={1, 2, 3, 4, 5, 6}

A={12, 14, 16, 24, 25, 34, 45, 62}

La matrice d’adjacence A correspondante a G est donnée

comme suit : Figure 1.17 : représentation graphique de G

1 2 3 4 5 6
1 0 1 0 1 0 1
2 0 0 0 1 1 0
3 0 0 0 1 0 0
4 0 0 0 0 1 0
5 0 0 0 0 0 0
6 0 1 0 0 0 0
Matrice d’adjacence A de G

La matrice d’incidence correspondante au graphe G est donnée comme suit :


e1 e2 e3 e4 e5 e6 e7 e8
1 1 1 1 0 0 0 0 0
2 -1 0 0 1 1 0 0 -1
3 0 0 0 0 0 1 0 0
4 0 -1 0 -1 0 -1 1 0
5 0 0 0 0 -1 0 -1 0
6 0 0 -1 0 0 0 0 1
Matrice d’incidence M de G
18
7.5. Représentation en machine d’un graphe orienté

On retrouve dans les graphes orientés les mêmes principes de représentations en machine que
celle dans les non orienté, avec quelques précisions supplémentaires dues à l'orientation.

7.5. 1. Par La matrice d'adjacence /d’incidence : un graphe orienté G= (V, A), avec V ={v1,v2, .
. . , vn } et A={a1, a2 ,a3 ,…, am}, peut être représenter en machine par sa matrice d’adjacence
(d’incidence) sous forme de table d’adjacence (d’incidence). Cette représentation est statique.

7.5. 2. Table des successeurs : une autre représentation statique d’un graphe orienté peut être
donnée sous forme de tableau tel que : dans un tableau d’ordre n noté PS dont l’indice i indique
le sommet vi et la case PS[i] contient un indice vers le premier successeur ranger dans un autre
tableau LS de dimension m qui contient les listes des successeurs des sommets qui sont rangées
les unes après les autres, dans l’ordre naturel des sommets qui lui sont associés. L’absence de
successeurs est codée par 0 dans le tableau PS.

7.5. 3. Listes de successeurs : On peut utiliser le voisinage de chaque sommet pour définir des
listes de successeurs, chaque liste associée à un sommet donne les successeurs de ce sommet.
Classiquement, on peut implémenter ces listes comme listes chaînées. Concrètement, on a un
tableau T de dimension n. Chaque élément T[i] contient un pointeur d'accès à la liste de
successeurs du sommet vi. Cette représentation est dynamique.

Exemple 1.6

Si on veut représenter le graphe G de la figure 1.17 en machine on peut définir les listes
correspondantes comme suit :

Par sa table des successeurs :


1 2 3 4 5 6
1 4 6 7 0 8 PS

1 2 3 4 5 6 7 8
2 4 6 4 5 4 5 2 LS

19
Par sa liste des successeurs :

1  2 4 6 /
2  4 5 /
3  4 /
4  5 /
5 /
6  2 /

20

Vous aimerez peut-être aussi