Ich bin auf Zeitplan für Schulzwecke arbeiten. Ich erhalte eine zeitlich geordnete Liste von Ereignissen und mein Ziel ist es, sie auf der Zeitachse zu zeichnen. Das Problem ist, dass ein Ereignis ein anderes überlagert (wie in der Abbildung unten gezeigt). Ich möchte diese Ereignisse auf kleinstem Raum "packen". This is single day with overlapping events.Ereignisse Zeitplan Verpackung
erstes Bild zeigt, was ich bisher tun verwaltet. Wie auf dem Bild zu sehen, überschneiden sich die Rechtecke nicht und füllen den freien Platz gut aus. Aber ich habe es nicht geschafft, einen vernünftigen Algorithmus für die Bestellung zu finden. Second picture shows how events should be ordered.
Dies sind zwei Bedingungen, die dieses Problem unterscheidet sich von klassischen Verpackungs Problem machen:
- Ereignisse gegeben hat, x-Koordinaten (von Anfang und Ende definiert).
- Events hat eine feste Breite, Höhe ist beliebig.