Я ищу алгоритм для разделения списка элементов разного размера на "N" количество групп одинакового размера.
В частности, я работаю над сайтом ASP.NET на С#, где у меня есть (полученный из базы данных) список строк. Струны бывают разной длины. У меня есть набор столбцов, которые должны отображать строки. Мне нужен алгоритм, который найдет наиболее сбалансированные наборы (порядок элементов не имеет значения), чтобы последние столбцы были максимально сбалансированными.
Абстрагированный пример:
Создание 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