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!
Dijkstra Programmierung für S-Bahn-Netz
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.
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.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- DeaD_EyE
- User
- Beiträge: 1022
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
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:
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)
Erklärung: A zeigt auf B und D, B zeigt auf C und E. Um von A nach E zu kommen: A -> B -> E['A', 'B', 'E']
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server