Algorithmus zum Ausbalancieren von Elementen mit variabler Größe in grob ausbalancierte Mengen

Ich suche einen Algorithmus, um eine Liste von Elementen unterschiedlicher Größe in "N" Gruppen mit ähnlicher Größe aufzuteilen.

Insbesondere arbeite ich an einer ASP.NET-Site in C #, auf der ich eine (von der Datenbank abgerufene) Liste von Zeichenfolgen habe. Die Saiten sind unterschiedlich lang. Ich habe eine Reihe von Spalten, die die Zeichenfolgen anzeigen müssen. Ich benötige einen Algorithmus, der die ausgeglichensten Mengen findet (die Reihenfolge der Artikel ist irrelevant), damit die endgültigen Spalten so ausgeglichen wie möglich sind.

Abstracted Beispiel:

Erstellen von 3 Spalten.

u verteilende Elemente:

 - Item A - height 5
 - Item B - height 3
 - Item C - height 7
 - Item D - height 2
 - Item E - height 3

Gewünschte Ausgabe:

Column 1: Item A, Item D
Column 2: Item C
Column 3: Item B, Item E

Antworten auf die Frage(12)

Ihre Antwort auf die Frage