Задать вопрос

Как реализовать перебор случайных подмножеств?

Подскажите, как можно выбирать случайные подмножества в итераторе, но с условием гарантии неповторяемости.
Т.е. чтобы при получении очередного подмножества не приходилось проверять факт его предыдущего использования.

Есть мысли использовать коды Грея - выбирать один из классов кода и генерировать двоичные числа в соотв с ним.

UPD:
Задача стоит иметь возможность перебрать ВСЕ подмножества данного множества (достаточно большого). При этом получать очередное подмножество в виде:
class subsetSource<T>
{
    public List<T> getNewSubset()
    {
        ...
        return ....
    }
}
  • Вопрос задан
  • 2352 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Перебирать номера подмножеств по порядку, применять к номерам биективное преобразование (например блочный шифр) чтобы из порядкового номера подмножества получить его элементы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы