Алгоритм для балансирования предметов различного размера в примерно сбалансированных наборах.

Я ищу алгоритм, чтобы разбить список элементов различных размеров на число "N" группы одинакового размера.

В частности, я работаю над сайтом ASP.NET в C #, где у меня есть (извлеченный из базы данных) список строк. Струны имеют разную длину. У меня есть набор столбцов, которые должны отображать строки. Мне нужен алгоритм, который найдет наиболее сбалансированные наборы (порядок элементов не имеет значения), чтобы последние столбцы были максимально сбалансированы.

Абстрактный пример:

Создание 3 столбцов.

Распределение элементов:

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

Желаемый вывод:

Column 1: Item A, Item D
Column 2: Item C
Column 3: Item B, Item E
6
задан RedFilter 26 August 2010 в 12:41
поделиться