разумно генерируя комбинации комбинаций

Допустим, у меня есть класс из 30 учеников, и я хочу генерировать все возможные способы, которыми они могут быть разбиты на группы по 5 человек (порядок не имеет значения).

Я знаю, как найти все комбинации студентов, чтобы сформировать одну группу индивидуально (http://www.merriampark.com/comb.htm). Используя этот итератор и некоторую рекурсию, я могу найти РАЗЪЕМЫ возможных комбинаций групп. Однако порядок, в котором выбираются группы, не имеет значения, и я хотел бы минимизировать время выполнения. Так как же найти уникальные КОМБИНАЦИИ возможных групп?

Приведенный выше алгоритм использует лексикографическое упорядочение, чтобы избежать создания дублирующих комбинаций ... Есть ли способ, которым я могу использовать эту идею для групп, а не для объектов?

Я хорошо знаю Ruby и менее хорошо знаю Java / Python. Заранее благодарю за любой совет!

Ответы на вопрос(4)

Ваш ответ на вопрос