Structures de données et algorithmes
Dans un graphe non orienté, les poids des arêtes (distances) sont S−A : 4, S−B : 1, A−B : 2, A−C : 1, B−C : 5, C−T : 3 et A−T : 6. Quelle réponse donne le plus court chemin de S à T trouvé par l'algorithme de Dijkstra et sa longueur ?
- AS→A→C→T, longueur 8
- BS→B→A→C→T, longueur 7
- CS→B→C→T, longueur 9
Afficher la réponse et l'explication
Réponse : B. S→B→A→C→T, longueur 7
L'algorithme de Dijkstra fixe de façon répétée le sommet le plus proche dont la distance n'est pas encore définitive, puis met à jour les distances de ses voisins. Depuis S (0), B est fixé à 1, et passer par B donne à A une distance de 1 + 2 = 3, plus courte que les 4 du trajet direct. Fixer A (3) donne à C 3 + 1 = 4 et à T 3 + 6 = 9, et fixer C (4) met à jour T à 4 + 3 = 7. Le plus court chemin est donc S→B→A→C→T, de longueur 7. S→A→C→T (8) est plus long parce qu'il prend directement S−A, et S→B→C→T (9) parce que B−C a un poids élevé de 5.
Continuer : 9 autres questions sur Structures de données et algorithmes