Licence 3 Informatique : cours Graphes I6S3 Chapitre II : Parcours

Licence 3 Informatique : cours Graphes I6S3 Chapitre II : Parcours, Arbres, Plus courts chemins
Licence 3 Informatique : cours Graphes I6S3
Chapitre II : Parcours, Arbres, Plus courts
chemins
Olivier Togni,
IEM/LE2I
Modifi´e le 25 avril 2016
1 de 20
Licence 3 Informatique : cours Graphes I6S3 Chapitre II : Parcours, Arbres, Plus courts chemins
Plan
1. Parcours largeur, profondeur
2. Arbres couvrants minimaux
Ialgorithme de Prim
Ialgorithme de Kruskal
3. Plus courts chemins
Ialgorithme de Dijkstra
Ialgorithme de Bellman-Ford
2 de 20
Licence 3 Informatique : cours Graphes I6S3 Chapitre II : Parcours, Arbres, Plus courts chemins
Parcours de graphe
Parcours en largeur
L’algorithme de parcours en largeur (BFS, Breadth First Search) :
parcours d’un graphe par niveaux, `a partir d’un sommet (racine)
de mani`ere it´erative, en utilisant une file
Utilis´e par exemple pour d´eterminer la connexit´e d’un graphe ou
calculer les distances depuis un sommet
Entr´ee : un graphe G orient´e ou non
Sortie : un arbre BFS Tavec pour chaque sommet
pfonction pr´ed´ecesseur (indique pour chaque sommet qui est son
p`ere dans l’arbre BFS),
`niveau (distance de chaque sommet `a la racine de l’arbre BFS),
ttemps (indique l’ordre de visite des sommets)
3 de 20
Licence 3 Informatique : cours Graphes I6S3 Chapitre II : Parcours, Arbres, Plus courts chemins
Parcours de graphe
Algorithme BFS
ParcoursLargeur(Sommet r):
{
F = CreerFile(); F.enfiler(r);
marquer(r);
i = 0; t(r) = i++; l(r) = 0; p(r)=-1;
TANT QUE NON F.vide() FAIRE
x = F.defiler();
traiter(x);
POUR TOUT voisin y de x FAIRE
SI y non marqu´e FAIRE
p(y) = x; l(y) = l(x)+1; t(y)=i++;
F.enfiler(y);
marquer(y);
FIN SI
FIN POUR TOUT
FIN TANT QUE
}
4 de 20
Licence 3 Informatique : cours Graphes I6S3 Chapitre II : Parcours, Arbres, Plus courts chemins
Parcours de graphe
Exemple BFS
A
B
K
J
I
D
E
F
G
H
C
Ordre BFS : A, B, J, C, F, I, D, E, H, G, K
5 de 20
1 / 20 100%

Licence 3 Informatique : cours Graphes I6S3 Chapitre II : Parcours

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !