Seite 1 von 1

Dijkstra Programmierung für S-Bahn-Netz

Verfasst: Donnerstag 7. Januar 2021, 18:56
von Pythela
Hallo :)

Ich bin neu hier und auch noch recht unerfahren im Programmieren.
Nun soll ich aber für ein Projekt kürzeste Strecken in einem S-Bahn-Netz ermitteln und hierfür habe ich den Dijkstra Algorithmus gefunden. Kann mir jemand sagen, ob ich dafür Networkx brauche oder es auch einfach so in Python programmieren kann? :)

Viele Grüße und danke schon mal!

Re: Dijkstra Programmierung für S-Bahn-Netz

Verfasst: Donnerstag 7. Januar 2021, 19:51
von ThomasL
Wenn du das "einfach so" programmieren kannst, dann mach das. ;-)
Warum aber das Rad neu erfinden wollen?
In NetworkX ist alles drin was du brauchst.
Und imho würde ich sagen, benötigst du weniger Zeit um dich in NetworkX einzuarbeiten als es nach zu programmieren.

Re: Dijkstra Programmierung für S-Bahn-Netz

Verfasst: Freitag 8. Januar 2021, 14:17
von DeaD_EyE
Ich habe das einmal ausprobiert.

Erst musst du den Graphen aufbauen, dann kannst du die Funktion networkx.algorithms.shortest_paths.generic.shortest_path nutzen um die kürzeste Strecke auszugeben.

Beispiel:

Code: Alles auswählen

import networkx


G = networkx.Graph({"A": ["B", "D"], "B": ["C", "E"]})
path = networkx.shortest_path(G, source="A", target="E")
print(path)
['A', 'B', 'E']
Erklärung: A zeigt auf B und D, B zeigt auf C und E. Um von A nach E zu kommen: A -> B -> E