[QUIZ#15] Turri (C#)

Turri

Erfahrenes Mitglied
Hallo zusammen,

hier meine Lösung mit C# als Konsolenanwendung.

Ich hab keine dynamische Programmierung verwendet.

In meinem Programm wird eine Klasse Süßigkeit verwendet welche die Daten für jedes Leckerli hält.
Die Liste in der ich die Süßigkeiten halte, wird dann nach dem Gewicht-Kalorien-Verhältnis absteigend sortiert.

Danach füge ich eine Süßigkeit nach der anderen ins Ergenis ein bis das verfügbare Gewicht
von Lisa Korb aufgebraucht ist bzw. zu schwere Süßigkeiten nicht mehr reinpassen.

Dadurch das keine dynamische Programmierung verwendet wurde, sind die Ausführungszeiten auch bei sehr vielen Leckerli's sehr gering.
Ich fande, da ist der Nutzeffekt einfach höher.

Hier das Ergenis bei 250Leckerli's (Leckerli's von Matthias):
result250leckerli.jpg


Viel Spass damit!
 

Anhänge

  • Osternest.zip
    193,3 KB · Aufrufe: 18

Turri

Erfahrenes Mitglied
Hallo,

ich nochmal! :)

Hab gerade noch was gefunden, zur Verschnellerung.

Änderung hier ist, das ich mir beim einlesen das kleinste Gewicht merke.
Wenn ich dann alles in den Korb lege prüfe ich, ob überhaupt noch Platz ist für das leichteste Leckerli ist.
Dadurch spart man sich viele Schleifendurchläufe wenn der Platz eh zu knapp ist.

Ich konnte meine Performance bei 10000 Leckerli's so von 75ms nochmal auf 39ms drücken.
result10000leckerliz.jpg


Edit: Bug im Code (konnte aber den Anhang nicht bearbeiten) Screenshot stimmt schon ;)
vorher: liste.Add(new Suessigkeit(tmpName, tmpweight, Convert.ToDouble(line[0])));
besser: liste.Add(new Suessigkeit(tmpName, tmpweight, Convert.ToDouble(line[1])));
 

Anhänge

  • Osternest_schnell.zip
    193,5 KB · Aufrufe: 22
Zuletzt bearbeitet:

Neue Beiträge