SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Dr. Ammar LADJAILIA Université de Souk Ahras
Introduction aux graphes
UNIVERSITÉ DE SOUK AHRAS
FACULTÉ DES SCIENCES ET DE LA TECHNOLOGIE
DÉPARTEMENT DE MATHÉMATIQUES ET INFORMATIQUE
Dr. Ammar Ladjailia Université de Souk Ahras
Plan
➔ Définitions
➔ Représentation des graphes
➔ Parcours des graphes
➔ Problème de plus court chemin
2
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : Théorie des graphes
La théorie des graphes est la discipline mathématique et
informatique qui étudie les graphes, lesquels sont des modèles
abstraits de dessins de réseaux reliant des objets.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : Graphe en Informatique
Un graphe en informatique est une structure de données
composée d’un ensemble de sommets (nœuds ou points), et
d’un ensemble des relations (arcs ou arêtes) entre ces sommets.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Typologies des graphes
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Graphe orienté
Un graphe est dit orienté (asymétrique) si les relations (arcs)
sont orientées
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Graphe non orienté
Un graphe est dit non orienté (symétrique) si les relations
(arêtes) ne sont pas orientées.
La relation est supposée exister dans les deux sens.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Graphe connexe
Un graphe non orienté est dit connexe si on peut aller de tout
sommet vers tous les autres sommets.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Graphe fortement connexe
Un graphe orienté est dit fortement connexe si on peut aller de
tout sommet vers tous les autres sommets
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : Boucle
Une boucle (autoboucle) est une relation (Si, Si)
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : Multigraphe
Un multigraphe ou graphe multiple est un graphe tel qu’il
existe plusieurs arcs entre certains sommets.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : Graphe pondéré
Un graphe est dit valué (pondéré) si à chaque arc on associe
une valeur représentant le coût de la transition de cet arc.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : chemin
Un chemin dans un graphe est une suite d’arcs consécutifs.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : longueur d’un chemin
La longueur d’un chemin est le nombre d’arcs constituant ce
chemin.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : Chemin simple
Un chemin simple est un chemin où aucun arc n’est utilisé
deux fois.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : circuit simple
Un circuit simple est un chemin simple tel que le premier et le
dernier sommet sont les mêmes.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : circuit eulérien
Un circuit eulérien est un circuit qui passe une et une seule fois
par tous les arcs.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : circuit hamiltonien
Un circuit hamiltonien est un circuit qui passe une et une seule
fois par tous les sommets.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : graphe planaire
Un graphe est planaire si aucun de ses arcs ne se coupent.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Définition : Degré d’un sommet
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation d’un graphe
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation : Matrice d’adjacence
Principe :
Matrice logique (V,F) ou une matrice des (0,1) tels que :
Si  arc(Si , Sj) tels que: Si, Sj  Sommets ➔ Matrice[i,j]=V ou 1
Sinon Matrice[i,j]=F ou 0.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation : Matrice d’adjacence
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation : Matrice d’adjacence
Exercice 1:
Ecrire un programme qui permet de créer un graphe donné à
l’aide de la matrice d’adjacence.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation : Table de liste d’adjacence
Principe : La partie contenant les sommets est mémorisée dans
une table, pour chaque entrée, une liste des sommets que l’on
peut atteindre directement (successeurs) en partant du sommet
correspondant à cette entrée.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation : Table de listes d’adjacence
Exercice 2:
Ecrire un programme qui permet de créer un graphe donné à
l’aide du table de listes d’adjacence.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation : Liste de listes d’adjacence
Principe : La partie contenant les sommets est mémorisée dans
une liste, pour chaque entrée, une liste des sommets que l’on
peut atteindre directement en partant du sommet correspondant
à cette entrée.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Représentation : Liste de listes d’adjacence
Exercice 3:
Ecrire un programme qui permet de créer un graphe donné à
l’aide de la liste de listes d’adjacence.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours d’un graphe
Le parcours d’un graphe est un algorithme qui permet d’examiner
(passage | explorer) les sommets une et une seule fois.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours d’un graphe
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en profondeur
Principe : Cet algorithme permet pour chaque sommet visité, de
choisir un des sommets successeurs du sommet en cours, jusqu’à
arriver sur une impasse ou un sommet déjà visité. Dans ce cas,
on revient en arrière pour repartir avec un des successeurs non
visité du sommet courant.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en profondeur
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en profondeur
Exercice 4:
Implémenter en C/C++ l’algorithme du parcours en
profondeur,
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en profondeur
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en profondeur
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en largeur
Principe : On part d’un sommet donné. On énumère tous les fils
(les suivants) de ce sommet, puis tous les petits-fils non encore
énumérés, etc. C’est une énumération par génération : les
successeurs directs, puis les successeurs au 2e degré, etc.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en largeur
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en largeur
Exercice 5:
Implémenter en C/C++ l’algorithme du parcours en largeur
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en largeur
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en largeur
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Problème de plus court chemin
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Problème de plus court chemin
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
L’algorithme de Dijkstra résout le problème de la recherche d’un
plus court chemin à origine unique pour un graphe orienté
pondéré G = (S , A) dans le cas où tous les arcs ont des poids
positifs ou nuls
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Parcours en largeur
Exercice 6:
Implémenter en C/C++ l’algorithme de DIJKSTRA.
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras
Graphe
Algorithme de DIJKSTRA
Dr. Ammar Ladjailia Université de Souk Ahras

Contenu connexe

Tendances

Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
 
TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire bilal001
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRSkander Driss
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITLina Meddeb
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE HINDOUSSATI
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineMohamed Amine Mahmoudi
 
Conception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningConception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidBadrElattaoui
 
Présentation audits de sécurité
Présentation   audits de sécuritéPrésentation   audits de sécurité
Présentation audits de sécuritéHarvey Francois
 
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEProjet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEHASSOU mohamed
 
Exercices corrigés recherche opérationnelle par www.coursdefsjes.com
Exercices corrigés recherche opérationnelle par www.coursdefsjes.comExercices corrigés recherche opérationnelle par www.coursdefsjes.com
Exercices corrigés recherche opérationnelle par www.coursdefsjes.comcours fsjes
 

Tendances (20)

Le tableau de bord
Le tableau de bord Le tableau de bord
Le tableau de bord
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
 
TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire TP Les bascules - logique combinatoire
TP Les bascules - logique combinatoire
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Théorie Des Graphes
Théorie Des GraphesThéorie Des Graphes
Théorie Des Graphes
 
INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE
 
Graphes
GraphesGraphes
Graphes
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
 
Conception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningConception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learning
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 
Présentation audits de sécurité
Présentation   audits de sécuritéPrésentation   audits de sécurité
Présentation audits de sécurité
 
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEProjet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
 
Cours uml
Cours umlCours uml
Cours uml
 
Exercices corrigés recherche opérationnelle par www.coursdefsjes.com
Exercices corrigés recherche opérationnelle par www.coursdefsjes.comExercices corrigés recherche opérationnelle par www.coursdefsjes.com
Exercices corrigés recherche opérationnelle par www.coursdefsjes.com
 

Plus de Ammar Ladjailia

complexite algorithmique
complexite algorithmiquecomplexite algorithmique
complexite algorithmiqueAmmar Ladjailia
 
Structures sequentielles en C/C++
Structures sequentielles en C/C++Structures sequentielles en C/C++
Structures sequentielles en C/C++Ammar Ladjailia
 
introduction au langage C/C++
introduction au langage C/C++introduction au langage C/C++
introduction au langage C/C++Ammar Ladjailia
 
Arbre binaire de recherche en C/C++
Arbre binaire de recherche en C/C++Arbre binaire de recherche en C/C++
Arbre binaire de recherche en C/C++Ammar Ladjailia
 

Plus de Ammar Ladjailia (6)

complexite algorithmique
complexite algorithmiquecomplexite algorithmique
complexite algorithmique
 
Structures sequentielles en C/C++
Structures sequentielles en C/C++Structures sequentielles en C/C++
Structures sequentielles en C/C++
 
Les pointeurs en C/C++
Les pointeurs en C/C++Les pointeurs en C/C++
Les pointeurs en C/C++
 
introduction au langage C/C++
introduction au langage C/C++introduction au langage C/C++
introduction au langage C/C++
 
Arbre binaire de recherche en C/C++
Arbre binaire de recherche en C/C++Arbre binaire de recherche en C/C++
Arbre binaire de recherche en C/C++
 
Les arbres en C/C++
Les arbres en C/C++Les arbres en C/C++
Les arbres en C/C++
 

Dernier

Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 

Dernier (11)

Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 

graphe en C/C++

  • 1. Dr. Ammar LADJAILIA Université de Souk Ahras Introduction aux graphes UNIVERSITÉ DE SOUK AHRAS FACULTÉ DES SCIENCES ET DE LA TECHNOLOGIE DÉPARTEMENT DE MATHÉMATIQUES ET INFORMATIQUE
  • 2. Dr. Ammar Ladjailia Université de Souk Ahras Plan ➔ Définitions ➔ Représentation des graphes ➔ Parcours des graphes ➔ Problème de plus court chemin 2
  • 3. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : Théorie des graphes La théorie des graphes est la discipline mathématique et informatique qui étudie les graphes, lesquels sont des modèles abstraits de dessins de réseaux reliant des objets.
  • 4. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : Graphe en Informatique Un graphe en informatique est une structure de données composée d’un ensemble de sommets (nœuds ou points), et d’un ensemble des relations (arcs ou arêtes) entre ces sommets.
  • 5. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Typologies des graphes
  • 6. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Graphe orienté Un graphe est dit orienté (asymétrique) si les relations (arcs) sont orientées
  • 7. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Graphe non orienté Un graphe est dit non orienté (symétrique) si les relations (arêtes) ne sont pas orientées. La relation est supposée exister dans les deux sens.
  • 8. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Graphe connexe Un graphe non orienté est dit connexe si on peut aller de tout sommet vers tous les autres sommets.
  • 9. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Graphe fortement connexe Un graphe orienté est dit fortement connexe si on peut aller de tout sommet vers tous les autres sommets
  • 10. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : Boucle Une boucle (autoboucle) est une relation (Si, Si)
  • 11. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : Multigraphe Un multigraphe ou graphe multiple est un graphe tel qu’il existe plusieurs arcs entre certains sommets.
  • 12. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : Graphe pondéré Un graphe est dit valué (pondéré) si à chaque arc on associe une valeur représentant le coût de la transition de cet arc.
  • 13. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : chemin Un chemin dans un graphe est une suite d’arcs consécutifs.
  • 14. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : longueur d’un chemin La longueur d’un chemin est le nombre d’arcs constituant ce chemin.
  • 15. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : Chemin simple Un chemin simple est un chemin où aucun arc n’est utilisé deux fois.
  • 16. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : circuit simple Un circuit simple est un chemin simple tel que le premier et le dernier sommet sont les mêmes.
  • 17. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : circuit eulérien Un circuit eulérien est un circuit qui passe une et une seule fois par tous les arcs.
  • 18. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : circuit hamiltonien Un circuit hamiltonien est un circuit qui passe une et une seule fois par tous les sommets.
  • 19. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : graphe planaire Un graphe est planaire si aucun de ses arcs ne se coupent.
  • 20. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Définition : Degré d’un sommet
  • 21. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation d’un graphe
  • 22. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation : Matrice d’adjacence Principe : Matrice logique (V,F) ou une matrice des (0,1) tels que : Si  arc(Si , Sj) tels que: Si, Sj  Sommets ➔ Matrice[i,j]=V ou 1 Sinon Matrice[i,j]=F ou 0.
  • 23. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation : Matrice d’adjacence
  • 24. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation : Matrice d’adjacence Exercice 1: Ecrire un programme qui permet de créer un graphe donné à l’aide de la matrice d’adjacence.
  • 25. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation : Table de liste d’adjacence Principe : La partie contenant les sommets est mémorisée dans une table, pour chaque entrée, une liste des sommets que l’on peut atteindre directement (successeurs) en partant du sommet correspondant à cette entrée.
  • 26. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation : Table de listes d’adjacence Exercice 2: Ecrire un programme qui permet de créer un graphe donné à l’aide du table de listes d’adjacence.
  • 27. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation : Liste de listes d’adjacence Principe : La partie contenant les sommets est mémorisée dans une liste, pour chaque entrée, une liste des sommets que l’on peut atteindre directement en partant du sommet correspondant à cette entrée.
  • 28. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Représentation : Liste de listes d’adjacence Exercice 3: Ecrire un programme qui permet de créer un graphe donné à l’aide de la liste de listes d’adjacence.
  • 29. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours d’un graphe Le parcours d’un graphe est un algorithme qui permet d’examiner (passage | explorer) les sommets une et une seule fois.
  • 30. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours d’un graphe
  • 31. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en profondeur Principe : Cet algorithme permet pour chaque sommet visité, de choisir un des sommets successeurs du sommet en cours, jusqu’à arriver sur une impasse ou un sommet déjà visité. Dans ce cas, on revient en arrière pour repartir avec un des successeurs non visité du sommet courant.
  • 32. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en profondeur
  • 33. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en profondeur Exercice 4: Implémenter en C/C++ l’algorithme du parcours en profondeur,
  • 34. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en profondeur
  • 35. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en profondeur
  • 36. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en largeur Principe : On part d’un sommet donné. On énumère tous les fils (les suivants) de ce sommet, puis tous les petits-fils non encore énumérés, etc. C’est une énumération par génération : les successeurs directs, puis les successeurs au 2e degré, etc.
  • 37. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en largeur
  • 38. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en largeur Exercice 5: Implémenter en C/C++ l’algorithme du parcours en largeur
  • 39. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en largeur
  • 40. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en largeur
  • 41. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Problème de plus court chemin
  • 42. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Problème de plus court chemin
  • 43. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA L’algorithme de Dijkstra résout le problème de la recherche d’un plus court chemin à origine unique pour un graphe orienté pondéré G = (S , A) dans le cas où tous les arcs ont des poids positifs ou nuls
  • 44. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 45. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Parcours en largeur Exercice 6: Implémenter en C/C++ l’algorithme de DIJKSTRA.
  • 46. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 47. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 48. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 49. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 50. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 51. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 52. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 53. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 54. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 55. Dr. Ammar Ladjailia Université de Souk Ahras Graphe Algorithme de DIJKSTRA
  • 56. Dr. Ammar Ladjailia Université de Souk Ahras