Hallo,
ich möchte gerne einen Routenplaner für Bahnverbindungen auszulesen programmieren.
Leider hapert es noch ein bisschen an der Umsetzung, grundsätzliche Gedanken habe ich mir bereits gemacht, aber vllt finde ich hier ja noch weiter Inspirationen bzw. werde eines besseren belehrt.
Also bisher habe ich mich mit dem U-Bahn Algorithmus beschäftigt, bei dem ich jedem Knotenpunkt( U-Bahnstation) die U-Bahnstationen angegeben habe(Kindknoten) mit den die jeweilige Station direkt verbunden ist.
Nun möchte ich das in der Form erweitern, dass ich die Knotenpunkte beibehalte und jedem Knotenpunkt mehrere Verbindungen zuweise, die eine Liste von Stationen enthält, die von der Station erreichbar sind.
Im Prinzip sollte das ja funktionieren wie das U-Bahn Problem, nur dass ich jetzt nicht die Kindknoten überprüfe, sondern die Verbindungen, ob ein bestimmter Bahnhof in der verbindung ist , ansonsten die Verbindungen des nächsten Bahnhofs und so weiter.
Nur über mehrere Stationen kann das ziemlich komplex werden:
Beispiel:
Bahnhöfe:
München
Stuttgart
Frankfurt
Köln
Nürnberg
Hamburg
Kiel
Paris
Rom
sagen wir mal München fährt:
München - Hamburg - Rom - Paris
München - Stuttgart - Rom
Stuggart fährt:
Stuttgart - Rom - Kiel
Stuttgart - Köln -Rom
und Kiel fährt:
Kiel - Rom - Paris
Kiel- Frankfurt
Und ich steige in München an und möchte nach Frankfurt.
Da muss ich ja im Prinzip jeden Teilbahnhof auf seine Unterverbindungen überprüfen, was doch erheblicher Rechenaufwand sein dürfte.
Im einfachen Beispiel würde ich erstmal von München gucken ob eine Direktverbindung besteht und dann die erste Verbindung überprüfen : München - Hamburg - etc
Dabei muss ich im Prinzip ja jeden Bahnhof auf seine Unterstationen überprüfen und deren Unterstationen und deren Unterstationen und so weiter.....,
und dann käme ich erst an die 2. Verbindung
und dann würde ich zum Glück sehen, dass man von Stuttgart nach Kiel fahren kann.
und von Kiel nach Frankfurt.
Muss ich so vorgehen oder kann man das vereinfachen?
In der Praxis kann ich mir vorstellen wird wohl davon ausgegangen, dass es Hauptbahnhofe gibt, die bestimmte Bereiche abdecken, z.b. München für Bayern , ohne dass ich in Baden Würtemberg jeden Bahnhof durchsucht haben muss, ob da eine Verbindung zu einem kleinen Ort in Bayern ist.
Wie sollte ich am besten vorgehen?
Ich tippe hier sind viele kompetente Java Programmierer, die mir helfen können.
ich möchte gerne einen Routenplaner für Bahnverbindungen auszulesen programmieren.
Leider hapert es noch ein bisschen an der Umsetzung, grundsätzliche Gedanken habe ich mir bereits gemacht, aber vllt finde ich hier ja noch weiter Inspirationen bzw. werde eines besseren belehrt.
Also bisher habe ich mich mit dem U-Bahn Algorithmus beschäftigt, bei dem ich jedem Knotenpunkt( U-Bahnstation) die U-Bahnstationen angegeben habe(Kindknoten) mit den die jeweilige Station direkt verbunden ist.
Nun möchte ich das in der Form erweitern, dass ich die Knotenpunkte beibehalte und jedem Knotenpunkt mehrere Verbindungen zuweise, die eine Liste von Stationen enthält, die von der Station erreichbar sind.
Im Prinzip sollte das ja funktionieren wie das U-Bahn Problem, nur dass ich jetzt nicht die Kindknoten überprüfe, sondern die Verbindungen, ob ein bestimmter Bahnhof in der verbindung ist , ansonsten die Verbindungen des nächsten Bahnhofs und so weiter.
Nur über mehrere Stationen kann das ziemlich komplex werden:
Beispiel:
Bahnhöfe:
München
Stuttgart
Frankfurt
Köln
Nürnberg
Hamburg
Kiel
Paris
Rom
sagen wir mal München fährt:
München - Hamburg - Rom - Paris
München - Stuttgart - Rom
Stuggart fährt:
Stuttgart - Rom - Kiel
Stuttgart - Köln -Rom
und Kiel fährt:
Kiel - Rom - Paris
Kiel- Frankfurt
Und ich steige in München an und möchte nach Frankfurt.
Da muss ich ja im Prinzip jeden Teilbahnhof auf seine Unterverbindungen überprüfen, was doch erheblicher Rechenaufwand sein dürfte.
Im einfachen Beispiel würde ich erstmal von München gucken ob eine Direktverbindung besteht und dann die erste Verbindung überprüfen : München - Hamburg - etc
Dabei muss ich im Prinzip ja jeden Bahnhof auf seine Unterstationen überprüfen und deren Unterstationen und deren Unterstationen und so weiter.....,
und dann käme ich erst an die 2. Verbindung
und dann würde ich zum Glück sehen, dass man von Stuttgart nach Kiel fahren kann.
und von Kiel nach Frankfurt.
Muss ich so vorgehen oder kann man das vereinfachen?
In der Praxis kann ich mir vorstellen wird wohl davon ausgegangen, dass es Hauptbahnhofe gibt, die bestimmte Bereiche abdecken, z.b. München für Bayern , ohne dass ich in Baden Würtemberg jeden Bahnhof durchsucht haben muss, ob da eine Verbindung zu einem kleinen Ort in Bayern ist.
Wie sollte ich am besten vorgehen?
Ich tippe hier sind viele kompetente Java Programmierer, die mir helfen können.