Dijkstra-Algorithmus mit Warteschlange mit minimaler Priorität

Ich versuche, den Dijkstra-Algorithmus mit Prioritätswarteschlange zu implementieren, kann aber nicht verstehen, wie er funktioniert. Ich habe viele Anleitungen im Internet gelesen, aber ich kann diesen Algorithmus überhaupt nicht verstehen.

Meine Frage ist: Was ist die Priorität für jeden Knoten? Ich denke, dass es das Gewicht der eingehenden Flanke mit dem minimalen Wert ist, aber ich bin nicht sicher. Ist das wahr?

Zweite Frage, wenn ich die Wurzel der Warteschlange extrahiere, wie funktioniert es, wenn dieser Knoten nicht mit keinem der besuchten Knoten benachbart ist?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage