Datastructuren en algoritmen
In een ongerichte graaf zijn de gewichten (afstanden) van de kanten S−A: 4, S−B: 1, A−B: 2, A−C: 1, B−C: 5, C−T: 3 en A−T: 6. Welk kortste pad van S naar T vindt het algoritme van Dijkstra, en wat is de lengte ervan?
- AS→A→C→T, lengte 8
- BS→B→A→C→T, lengte 7
- CS→B→C→T, lengte 9
Antwoord en toelichting tonen
Antwoord: B. S→B→A→C→T, lengte 7
Het algoritme van Dijkstra legt herhaaldelijk de dichtstbijzijnde knoop vast waarvan de afstand nog niet definitief is, en werkt de afstanden van haar buren bij. Vanuit S (0) wordt B vastgelegd op 1, en via B krijgt A de afstand 1 + 2 = 3, korter dan de directe 4. Na het vastleggen van A (3) krijgt C de waarde 3 + 1 = 4 en T de waarde 3 + 6 = 9, en na het vastleggen van C (4) wordt T bijgewerkt tot 4 + 3 = 7. Het kortste pad is dus S→B→A→C→T met lengte 7. S→A→C→T (8) is langer omdat het S−A rechtstreeks neemt, en S→B→C→T (9) is langer omdat B−C het grote gewicht 5 heeft.