Programmer l'algorithme de Dijkstra                        

Programmer l'algorithme de Dijkstra

Il s'agit de calculer les plus courts chemins dans un graphe orienté valué d'un sommet r à tous les autres. Les sommets du graphe seront identifiés par des chaînes de caractères. Les longueurs des arcs seront des entiers positifs et ne seront pas des distances euclidiennes.
On pourra pour simplifier supposer que r est racine du graphe, mais il serait mieux de prévoir le cas où r n'est pas racine, c'est-à-dire où certains sommets ne peuvent pas être atteints depuis r.
Les données du problème seront fournis par un fichier. Vous pouvez trouver ici un fichier source pour un exemple que vous avez peut-être rencontré dans le cours d'algorihtmique. Dans le fichier, on trouve successivement : La sortie du programme, pour le fichier donné en exemple, peut être :

Corrigé :

Voici une possibilité :

© Irène Charon, Télécom ParisTech 2011