Naja, ganz so wie das Rucksackproblem ist es ja nicht (Glaub ich zumindest). Bei meiner Problematik will ich ja alle Blöcke reinbekommen. Egal ob die dann überstehen oder nicht. Sie sollten halt nicht zu weit überstehen, das in der ersten Spalte eine Höhe von 50 ist, in der zweiten eine Höhe von 3 und in der dritten eine Höhe von 40. Es sollte halt so aufgeteilt werden, das die Höhe optimal genutzt wird. Achja, und in jeder Spalte muss at least ein Block sein!
Um etwas konkreter zu werden. Es handelt sich später natürlich nicht um Blöcke sondern um andere dinge, die der Benutzer möglichst übersichtlich am Bildschirm sehen will, ohne das er 80 mal den Scrollbalken bewegen muss.
Das dumme ist, das mein überlegter (und zugegebenermaßen ziemlich billiger) Algorithmus das ja schon ganz gut hin bekommt. Aber bei manchen Konstellationen sieht man halt sofort, das er den einen Block doch besser in die nächste Spalte hätte schieben können. Vielleicht fällt das beim kunden ja später auf, vlt nicht, vlt ist es ihnen egal, vlt können sie damit auch einfach leben! Wie auch immer... es wurmt mich halt einfach nen bissle, das mir nichts perfektes einfällt und ich auch leider nicht die zeit habe, mich damit stundenlang zu beschäftigen, obwohl es mir große freude bereitet (verrückt).
Ich werde es später irgendwann mal mit einer Art Greedy Algo ausprobieren, der einfach immer im Vorfeld testet, ob der Block für die spätere Bewertung besser in der angegebenen Spalte bleibt, oder in die nächste kommt. Kann nicht die Welt sein, auch vom Rechenaufwand nicht. Denke mal es werden maximal 3-4 Spalten, da der Benutzer sonst nichts gewonnen hätte. Es würde ab 5 Spalten so breit werden, das er anstatt Vertikal dann Horizontal scrollen müsste.
Danke trotzdem für die Hilfe!