Vous êtes sur la page 1sur 7

Les Graphes

Réalisé par :

• HAMDAOUI ABDELHAKIM
Encadré par :

• Pr : MHAMDI AHMED
Année scolaire 2021/2020

HAMDAOUI ABDELHAKIM
1- DÉFINITION MATHÉMATIQUE D’UN GRAPHE :
Intuitivement, un graphe G est un ensemble de sommets reliés par des arcs (voir la figure 24.1
où les sommets sont représentés par des cercles numérotés et les arcs sont représentés par des
flèches). Un graphe peut représenter un réseau routier (avec éventuellement des sens uniques),
un réseau de transport aérien, un réseau informatique, ou encore des choses plus abstraites.

Mathématiquement, les sommets forment un ensemble S = {s0, s1, . . . , sn−1}. Ici, Les
sommets sont numérotés de 0 à n − 1, et n est le nombre de sommets du graphe. De plus,
chaque arc est un couple (i, j) de sommets, ce qui signifie que l’arc se trouve Entre le sommet si
et le sommet s j. Le graphe G est finalement formé de l’ensemble des sommets, et d’un
ensemble d’arcs.

Attention :

- Les couples qui constituent les arcs sont orientés. Par exemple, il peut y avoir un arc (i,
j) du sommet si vers le sommet sj, alors qu’il n’y a pas d’arc (j, i) du sommet sj vers le
sommet si.

Un sommet s j tel qu’il existe un arc (i, j) est appelé successeur de si.

2- CHEMINS DANS UN GRAPHE :


- Un chemin dans un graphe G est une suite de sommets, tels que deux sommets
consécutifs du chemin sont liés par un arc (orienté).
- Par exemple, dans le graphe de la figure 24.1, la suite (4, 2, 1, 3, 5) est un chemin.
- Par contre, la suite (4, 2, 3, 5) n’est pas un chemin car il n’y a pas d’arc de 2 vers 3.
- En d’autres termes, le chemin est une suite (i0, . . . , ik) de sommets du graphe telle
qu’il y ait un arc (ia−1, ia) pour chaque a = 1, . . . , k.
- Soient deux sommets s et t dans un graphe G. Un chemin dans G de s à t est un chemin
dans G dont le premier sommet est le sommet s et dont le dernier sommet est le somme
t.

HAMDAOUI ABDELHAKIM
- Par exemple, dans le graphe de la figure 24.1, la suite (4, 2, 1, 3, 5) est un chemin de
4 à 5. Par contre, il n’existe pas de chemin de 4 à 0.

3- REPRÉSENTATION PAR MATRICES D’ADJACENCE :


- On souhaite définir une structure de données pour représenter un graphe. Considérons S
= {s0, s1, . . . , sn−1} l’ensemble des sommets. Nous allons représenter le graphe par
une matrice A (ou encore, A est un tableau à double entrée, voir le chapitre 15) de taille
n × n. L’élément A[i][ j] (intersection de la ligne i et de la colonne j dans la matrice)
vaudra 1 s’il y a un arc (i, j) du sommet si vers le sommet s j, et A[i][ j] vaudra 0 sinon
(voir la figure 24.2).

- Du point de vue structures de données, on peut mettre les données du graphe dans une
structure Graphe.

Exercices :

• La configuration matérielle du réseau informatique intranet d’une entreprise nationale est


enregistrée dans un fichier texte. Le fichier contient :
• Le nombre n de nœuds du réseau (chaque nœud correspondant plus ou moins à une
localisation géographique) ;
• Le nombre m de connexions entre nœuds (une connexion correspondant à un câble). On
supposera qu’entre deux nœuds il y a au plus 1 câble.
• La liste des n noms des nœuds ;
• La liste des m connexions, chaque connexion étant représentée par les numéros des deux
nœuds extrémités.

HAMDAOUI ABDELHAKIM
A) Proposez une structure de données pour représenter le réseau en mémoire centrale. On
rassemblera toutes les données nécessaires dans une structure Réseau.
B) Écrire une fonction de chargement du réseau en mémoire.
C) Écrire une fonction de sauvegarde du réseau stocké en mémoire.
D) Écrire une fonction qui détermine si deux machines données sont connectées par un câble.
E) Qu’est-ce qu’un chemin dans le réseau ?
F) Écrire une fonction qui prend en paramètre un tableau de numéros de nœuds du réseau et
qui détermine si chaque nœud du tableau est connecté au suivant par un câble.

2- (∗) (Graphes non orientés) On appelle graphe non orienté un graphe dont toutes les arêtes
vont dans les deux sens. Autrement dit, dans un graphe non orienté, s’il y a un arc d’un sommet
si vers le sommet s j, alors il y a aussi un arc du sommet s j vers le sommet s j. La paire {i, j}
est alors appelée une arête de G.

Soit un graphe donné par une matrice d’adjacence. Donner une propriété de la matrice qui soit
caractéristique d’un graphe non orienté. Donner un algorithme qui prend en paramètre un graphe
donné sous forme de matrice d’adjacence, et qui renvoie 1 si le graphe est non orienté, et 0
sinon.

3-(∗) Soit un graphe G à n sommets. Un coloriage de G est une fonction qui à chaque sommet de
G associe un entier appelé couleur du sommet. On représente un coloriage de G par un tableau
de n entiers.

Un coloriage de G est dit correct si pour tout arc (i, j) de G la couleur de si est différente de
la couleur de s j.

Écrire une fonction qui prend en paramètre un graphe G représenté sous forme de matrice
d’adjacence et un coloriage, et qui renvoie 1 si le coloriage de G est correct et 0 sinon.

Corrigés :
A)

B)

HAMDAOUI ABDELHAKIM
C)

D)

HAMDAOUI ABDELHAKIM
E) Un chemin dans le réseau est une suite de sommets tel qu’il existe un câble de chaque sommet
vers le sommet suivant dans le chemin.

F)

2-

HAMDAOUI ABDELHAKIM
HAMDAOUI ABDELHAKIM

Vous aimerez peut-être aussi