unknown: die laufzeit einer rekrusiven methode fixen

Beitrag lesen

Dafür berechnest du von Knoten S aus zuerst die kürzesten Distanzen (= kürste Anzahl T Schritte) zu allen anderen Knoten mit Dijkstra.

Das klingt für mich aber nicht optimal, da du hierfür Knoten mehrfach durchläufst.
     ------A------
   /               \ S-                   -C
   \               /
     ------B------
Um die Distanz zu C zu berechnen müsstest du A und B durchlaufen. A und B müsstest du nochmal durchlaufen um die Distanz zu diesen beiden Knoten selbst zu berechnen.

Das optimale Vorgehen dürfte doch sein, alle von S erreichbaren Knoten zu durchlaufen, diese dabei in S zu speichern und diese schon gespeicherten bei einem weiteren Treffer zu updaten.
Wenn ein Update notwendig war(wegen einer kürzeren Distanz) diesen Knoten nochmal nach unten durchtraversieren, sonst weitermachen mit dem Nächsten.
     ------A------         ------D------
   /               \     /               \ S-                   -C-                   -F - G
   \               /     \               /
     ------B------         ------E------
     \                                 /
       ---------------H---------------
Von S aus:
A, C, D, F, G, E, F(schon vorhanden, gleiche Tiefe - kein Update notwendig), B, C(schon vorhanden, gleiche Tiefe - kein Update notwendig -> weiter mit nächstem Knoten), G, F(schon vorhanden, andere Tiefe - update), G(update)