PLAN DE L’EXPOSEE
1PARCOURS EN PROFONDEUR
2 TRI TOPOLOGIQUE
I. Introduction
II. Parcours en profondeur
1. Définition
2. Principe
3.Algorithme
4. Application
5. Implémentation sur machine
1. Définition
2. Principe
3.Algorithme
4. Application
I. Introduction
En théoriede graphe un parcours de graphe est un algorithme
consistant à explorer les sommets d’un graphe de proche en
proche à partir d’un sommet initial.
Il existe de nombreux algorithmes de parcours. Les plus
couramment décrits sont le parcours en profondeur et le
parcours en largeur.
5.
II. Parcours enprofondeur
1- Définition:
L’algorithme de parcours en profondeur (DFS: Depth First
Search) est un algorithme de parcours d’arbre et plus
généralement de parcours de graphe. il se décrit
naturellement de manière récursive son application la plus
simple consiste à déterminer s’il existe un chemin d’un
sommet à un autre.
6.
2- Principe
Le nomd’algorithme en profondeur est du au fait qu’il
explore à fond les chemins un par un : pour chaque
sommet, il marque le sommet actuel, et il prend le premier
sommet voisin jusqu’à ce que un sommet n’ait plus de voisin
( ou que tous ces voisins soient marqués ), et revient alors
au sommet père.
Pour cette raison on va utiliser une méthode de marquage
utilisant 3 couleurs qui sont blanc, gris et noir.
7.
⮚Initialement associer leblanc à tous les sommets du
graphe (ne sont pas encore visités)
⮚ Lorsqu’un sommet est visité on lui associe le gris
⮚Le sommet reste en gris tant qu’il existe des successeurs
de ce sommet qui sont en blanc
⮚On associe le noir au sommet lorsque tous ces successeurs
sont en gris ou en noir.
4- Applications duparcours en profondeurs
le parcours en profondeur permet de:
● Déterminer un arbre couvrant dans un graphe non
orienté connexe.
● Déterminer les composantes connexes dans un
graphe non orienté.
● Déterminer les composantes fortement connexes
dans graphe orienté.
36.
Déterminer un arbrecouvrant
Les arêtes sélectionnées lors du parcours DFS(G,s) forme un
arbre couvrant
A B
E
D
H
F
I
G
J
C
[1,20] [2,19]
[3,18]
[4,9]
[5,6]
[7,8]
[10,17]
[11,16]
[12,15]
[13,14]
A B F G G F I H D
π
B F G C J I H D E
Problématique
Le problème dutri topologique est un problème d’ordonnancement des tâches dont
certains doit être faits avant d’autres : on a une liste de choses à faire, certaines ont
besoin d’être faites avant d’autres.
On utilise la théorie des graphes pour représenter ces tâches puis on va appliquer un
tri topologique pour avoir une listes des tâches ordonnées.
On représente ces contraintes par un graphe orienté acyclique dont les sommets
sont les tâches et les arêtes sont les couples (u, v) tels que la tâche u doit être
effectuée avant la tâche v.
62.
⚫ un tritopologique d'un graphe acyclique orienté est un ordre total sur
l'ensemble des sommets,dans lequel s précède t pour tout arc d'un
sommet s à un sommet t.
1. Définition
Tri topologique
Entrée: Un graphe orienté acyclique G = (S, A)
Sortie : Une liste L constituée des sommets de G telle que si
(u, v) G, alors u apparaît avant v dans
∈ L
Une façon de réaliser un tri topologique de G est de faire un parcours
en profondeur, et de placer les sommets dans une pile à la fin de leur
visite.
63.
Donnée: un grapheG orienté
E
A
D
C
F B
Objectif: une liste L des sommets de G
contrainte: (u,v) L =…u,…v…….. . Interdit
acyclique.
64.
E
A
D
C
F B
L1 =A,B,C,D,E,F
Donnée: un graphe G orienté acyclique
Objectif: une liste L des sommets de G
Contrainte: (u,v) L =…u,…v…… .
65.
E
A
D
C
F B
L1 =A,B,C,D,E,F
Donnée: un graphe G orienté acyclique
Objectif: une liste L des sommets de G
Contrainte: (u,v) L =…u,…v…. .
E
A
D
C
F B
L1 =A, B, C, D, E,
F
Donnée: un graphe G orienté acyclique
Objectif: une liste L des sommets de G
contrainte: (u,v) L =…u,…v…….. .
L1= A, B, C, D, E,
68.
E
A
D
C
F B
L2 =A, E, D, C, B, F
Ordre topologique de G.
Donnée: un graphe G orienté acyclique
Objectif: une liste L des sommets de G
contrainte: (u,v) L =…u,…v…….. .
69.
E
A
D
C
F B
Non visité
Encours de visite
Visité
Règle:lorsqu’un
sommet devient « visité
» le placer en tête d’une
pile.
2. Principe
Début
Soit P unepile vide
G graphe avec s sommet
Pour chaque sommet s de G
faire
Couleur[s] Blanc
FinPour
Pour chaque sommet s de g
faire
Si couleur[s] = Blanc Alors
Parcour(G,s,couleur,P)
FinSi
FinPour
Parcour(G,s,couleur,P)
Début
Couleur[s] Gris
Pour chaque successeur v de
s Faire
Si couleur[v]=Blanc Alors
Parcour(G,v,couleur,P)
FinSi
FinPour
Couleur[s] Noir
Empiler(P,s)
fin
3. Algorithme
80.
1. Cassez lesœufs délicatement, séparez les blancs des jaunes.
2. Fouettez les jaunes et le sucre jusqu’à ce que le mélange devienne légèrement mousseux.
3. Ajoutez le mascarpone tout en mélangeant jusqu’à obtention d’un crème homogène.
4. Battez les blancs en neige, incorporez-les à la crème en soulevant la masse pour garder un maximum d’air.
5. Mélangez le café dans une assiette creuse, trempez rapidement dedans les biscuits sans les imbiber totalement.
6. Placez une première couche de biscuits au fond d’un plat rectangulaire.
7. Couvrez avec la moitié de la crème au mascarpone puis à nouveau de biscuits trempés au café pour terminer par la
seconde moitié de crème au mascarpone.
⚫la recette du tiramisù.
4. Application