Der Algorithmus von Dijkstra

Der Breitensuche-Algorithmus ist schnell, aber häufig nicht ausreichend. In vielen Fällen ist es wichtig, die unterschiedlichen Weglängen, Fahrtdauern oder Kosten zwischen den einzelnen Orten (Knoten) zu beachten. Dies leistet der Algorithmus von Dijkstra. Allerdings ist er langsamer als BFS und kann auch nur mit positiven Kantengewichten arbeiten.

Probiere den Algorithmus auf verschiedenen Graphen aus. Was würde passieren, wenn Du negative Kantengewichte benutztest?

Wenn Du zuerst ein automatisch ablaufendes Beispiel sehen willst, klicke hier.

Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Element bewegen
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Knoten hinzufügen
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Kante hinzufügen
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Element entfernen
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Kantengewicht erhöhen
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Kantengewicht vermindern
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Startknoten wählen
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Nächster Schritt im Algorithmusablauf
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen. Zurücksetzen
©2005 Anne Geschke, Ulrich Kortenkamp, Dirk Materlik. Technische Universität Berlin, DFG-Forschungszentrum Matheon