• Aucun résultat trouvé

TP2Recherche du plus court cheminPartie I

N/A
N/A
Protected

Academic year: 2022

Partager "TP2Recherche du plus court cheminPartie I"

Copied!
1
0
0

Texte intégral

(1)

TP2

Recherche du plus court chemin

Partie I

• Définir une structure permettant de stocker un graphe;

• Ecrire une procédure permettant de lire un graphe contenu dans un fichier texte et de créer la structure correspondante ;

• Ecrire des procédures permettant de manipuler le graphe (tester si un arc existe, obtenir la valuation d'un arc, retirer un arc du graphe, imprimer la matrice des valuations) ;

Partie II : Implémentation de l'algorithme DIJKSTRA

• initialiser trois structures de données permettant de stocker les sommets visités (initialement, aucun), les sommets atteints (initialement, aucun), les autres sommets (initialement, tous) ;

• initialiser deux structures de données permettant, pour chaque sommet S, de stocker la longueur du plus court chemin connu de X à S, ainsi que le prédécesseur de S dans le plus court chemin de X à S ;

• indiquer que X est atteint, à distance 0 de X, avec comme prédécesseur X ;

• tant qu'il y a encore au moins un sommet atteint

• prendre le sommet Y atteint le plus proche de X ;

• indiquer que Y est visité ;

• pour chaque arête issue de Y et ayant pour extrémité un sommet Z non visité

• si Z n'est pas encore atteint, indiquer qu'il est atteint à partir de Y, en initialisant la longueur du plus court chemin ;

• sinon (Z était déjà atteint), comparer la longueur du chemin allant de X à Z passant par Y à la longueur du plus court chemin connu pour le moment ; si cette longueur est plus petite, mettre à jour le plus court chemin (modifier la longueur, indiquer Y comme prédécesseur)

• on a fini lorsque les n-1 sommets ont été visités ;

• le tableau des prédécesseurs permet de reconstruire (en sens inverse) tous les plus courts chemins ;

Partie III. Complexité

Etudier la complexité des différentes implémentations fournies.

Objet : Calcul de plus courts chemins dans un graphe orienté valué positif, en utilisant l'algorithme de Dijkstra.

Références

Documents relatifs

Le parcours en largeur donne le plus court chemin mais utilise beaucoup de m´ emoire.. Dijkstra ´ etait le parcours en largeur avec

• Le problème du plus court chemin consiste à déterminer le chemin de coût minimum reliant un nœud a à un nœud b.. • On peut le voir comme un problème

Ce problème est résolu par programmation dynamique, avec comme variables d'état, des couples {temps, longueur) associés aux nœuds. Pour le problème classique d'un plus court

Le chemin de Mona est tracé en bleu sur le 2 ème dessin.. Le chemin d’Elio est tracé en noir sur le

L’unité de longueur pour mesurer la taille d’un objet est le mètre. On utilise parfois d’autres multiples et sous multiples que le mètre qui sont

Les coordonnées des différents points du plan sont stockées dans une liste à deux éléments [x, y].. Les différentes coordonnées des adresses sont stockées dans

Mathias est dans sa maison et décide de rendre visite à quatre de ses amis (Julie, Léo, Fabien et Kevin) en VTT?. Dans quel ordre doit-il rencontrer ses amis pour effectuer le

[r]