S
Schorschilein
Gast
Hallo,
ich suche nach einer Möglichkeit in einer Klasse Fahrplan, welche den Fahrplan einer Bus/Zugline für eine Haltestelle bereithalten soll, eine Abfahrtszeit sowie einen Abfahrtstag einzulagern und bei Bedarf zu einem übergebenen Tag/Uhrzeit die nächste mögliche Abfahrtzeit ausspuckt:
Tage sind in diesem Fall Integer (0-6) für Montage, ..., Sonn- und Feiertage. Uhrzeit ist ebenfalls ein Integer (830 für 8:30, 2230 für 22:30)
Ich wollte das zuerst mit verketteten Listen machen, denke aber das dies nicht gerade die eleganteste Lösung ist. Stellt Java irgendwelche Klassen bereit mit denen man so etwas am besten realisieren kann? Wichtig ist das die Methode getZeit() sehr schnell arbeitet. Auf diese wird ein Dijkstra-Algorithmus zugreifen der in einem gewichteten Graphen nachher die schnellste Verbindung suchen wird. Bei ca. 3000 Knoten die abgebildet werden bedeutet dies, dass auch getZeit() 3000 mal aufgerufen wird und zum übergebenen Tag und Uhrzeit die nächste mögliche Verbindung ausgeben muss.
Vielen Dank schon mal!
Gruß
Schorsch
ich suche nach einer Möglichkeit in einer Klasse Fahrplan, welche den Fahrplan einer Bus/Zugline für eine Haltestelle bereithalten soll, eine Abfahrtszeit sowie einen Abfahrtstag einzulagern und bei Bedarf zu einem übergebenen Tag/Uhrzeit die nächste mögliche Abfahrtzeit ausspuckt:
Code:
public final static int Montag = 0;
public final static int Dienstag = 1;
// [...]
public Fahrplanzeiten getZeit(int tag, int uhrzeit);
Tage sind in diesem Fall Integer (0-6) für Montage, ..., Sonn- und Feiertage. Uhrzeit ist ebenfalls ein Integer (830 für 8:30, 2230 für 22:30)
Ich wollte das zuerst mit verketteten Listen machen, denke aber das dies nicht gerade die eleganteste Lösung ist. Stellt Java irgendwelche Klassen bereit mit denen man so etwas am besten realisieren kann? Wichtig ist das die Methode getZeit() sehr schnell arbeitet. Auf diese wird ein Dijkstra-Algorithmus zugreifen der in einem gewichteten Graphen nachher die schnellste Verbindung suchen wird. Bei ca. 3000 Knoten die abgebildet werden bedeutet dies, dass auch getZeit() 3000 mal aufgerufen wird und zum übergebenen Tag und Uhrzeit die nächste mögliche Verbindung ausgeben muss.
Vielen Dank schon mal!
Gruß
Schorsch