Hallo Java-Gemeinde!
Ich muss einen Algorithmus berechnen, mir fehlen allerdings Ideen, wie ich das am besten machen kann:
Ich habe Teilnehmer, die Kurse gebucht haben. Ein Teilnehmer kann mehrere Kurse buchen und die Kurse sind nicht beschränkt auf ne Teilnehmeranzahl.
Ein Kurs dauert 2 Stunden, sodass ungefähr so 5 Kurse pro Tag statt finden (das habe ich mir mal ausgedacht)
Ein Teilnehmer soll maximal 3 Kurse an einem Tag besuchen.
Der Plan der rauskommt, soll zudem möglichst wenig Tage haben.
Ich stelle mir das so vor, dass man z.B. zunächst ne Arraylist macht, jeder Array ist ein Tag mit z.B. 5 Kursen. Man füllt Array für Array mit Kursen auf. Dann prüft man, ob Teilnehmer mehr als 3 Kurse an einem Tag besuchen, dann wird der Kurs raus aus dem Array genommen und in den nächsten gepackt und wieder wird geprüft, ob Teilnehmer mehr als 3 Kurse an einem Tag besuchen (Schleife)
Beispiel für die Liste mit Teilnehmer und Kurse (die vorher eingelesen wird)
TeilnehmerNr, KursNr
1,9
1,23
1,24
3,9
3,21
3,25
3,28
4,19
5,14
5,17
5,25
6,9,
6,12
6,20
6,26
7,11
8,17
Teilnehmer 1 hat z.B. Kurs 9, 23, 24 gebucht. Teilnehmer 3 hat Kurs 9 gebucht....etc.
Vielleicht habt ihr ja gute Ideen oder Anregungen - vll auch zur konkreten Programmierung, ich tu mich da noch ein wenig schwer zu mal das mein erstes Programm ist.
Vielen Dank schon mal!
Ich muss einen Algorithmus berechnen, mir fehlen allerdings Ideen, wie ich das am besten machen kann:
Ich habe Teilnehmer, die Kurse gebucht haben. Ein Teilnehmer kann mehrere Kurse buchen und die Kurse sind nicht beschränkt auf ne Teilnehmeranzahl.
Ein Kurs dauert 2 Stunden, sodass ungefähr so 5 Kurse pro Tag statt finden (das habe ich mir mal ausgedacht)
Ein Teilnehmer soll maximal 3 Kurse an einem Tag besuchen.
Der Plan der rauskommt, soll zudem möglichst wenig Tage haben.
Ich stelle mir das so vor, dass man z.B. zunächst ne Arraylist macht, jeder Array ist ein Tag mit z.B. 5 Kursen. Man füllt Array für Array mit Kursen auf. Dann prüft man, ob Teilnehmer mehr als 3 Kurse an einem Tag besuchen, dann wird der Kurs raus aus dem Array genommen und in den nächsten gepackt und wieder wird geprüft, ob Teilnehmer mehr als 3 Kurse an einem Tag besuchen (Schleife)
Beispiel für die Liste mit Teilnehmer und Kurse (die vorher eingelesen wird)
TeilnehmerNr, KursNr
1,9
1,23
1,24
3,9
3,21
3,25
3,28
4,19
5,14
5,17
5,25
6,9,
6,12
6,20
6,26
7,11
8,17
Teilnehmer 1 hat z.B. Kurs 9, 23, 24 gebucht. Teilnehmer 3 hat Kurs 9 gebucht....etc.
Vielleicht habt ihr ja gute Ideen oder Anregungen - vll auch zur konkreten Programmierung, ich tu mich da noch ein wenig schwer zu mal das mein erstes Programm ist.
Vielen Dank schon mal!