Hallo.
In meinem Letzten Beitrag (Beitrag "Javascript Verkehrsleitsystem") wurde mir geraten, für das Finden des kürzesten Weges zwischen zwei Punkten den A*-Algorithmus zu verwenden.
Nach einigen Recherchen lernte ich jedoch den Dijkstra-Algorithmus kennen, der mir nicht nur verständlicher, sondern auch einfacher erscheint, da nicht berechnet werden muss, wie wahrscheinlich es ist, dass ein bestimmter Pfad eher zum Ziel führt als andere.
Ich fand nach einiger Suche Code für JavaScript, der Programmiersprache, in der ich den Algorithmus implementieren möchte, auf folgender Seite: https://www.tutorialspoint.com/Dijkstra-s-algorithm-in-Javascript
Jedoch gibt dieser die kürzeste Entfernung zu allen weiteren Knoten von einem Startknoten aus an. Ich benötige jedoch zum einen die Entfernung zu einem bestimmten Knoten, zum anderen möchte ich wissen, welchen Pfad das Programm errechnet hat.
Wie müsste ich den Code umschreiben? Wird in der "while (!pq.isEmpty())"-Schleife geprüft, ob der Ziel-Knoten schon erreicht ist?
Zu Beginn des Programms würde ich ein Array initialisieren ("let pfad = [];"), welches ebenfalls ausgegeben wird und den "zu gehenden" Pfad angibt.
In welcher Schleife werden dann die Knoten des Pfades diesem Array hinzugefügt?
Verzeiht die etwas plumpe Grußformel und Verabschiedung. Was kreative Begrüßungen und Verabschiedungen angeht, bin ich (zum Glück?) kein Profi.
Viele Grüße und Dank für jede hilfreiche Antwort Ernst