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

Как пройти все подмножества в множестве?

Здравствуйте,

Есть множество объектов. К примеру: {A,B,C}. Нужно найти все подмножества множества {A,B,C} через циклы. Как лучше это сделать? Сложность алгоритма должна быть O(2^n). Ж

Желательно пример на java, но можно и на другом любом языке.

Спасибо.
  • Вопрос задан
  • 4814 просмотров
Подписаться 3 Оценить 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • EasyCode
    Minecraft для детей от 10 до 17 лет
    1 неделя
    Далее
  • Stepik
    Алгоритмы: теория и практика. Структуры данных
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вообще-то у n-элементного множества 2n подмножеств, так что n2 при n > 2 получить нереально.
Один из алгоритмов перечисления:
1. Заводим второй массив (булеан), того же размера, что и исходный, инициализируем его нулями.
2. Выводим подмножество из тех элементов исходного массива, которым в булеане соответствуют единицы.
3. Трактуя булеан как запись числа в двоичной системе прибавляем к нему 1.
4. Если в булеане есть хоть одна 1, переходим к пункту 2.
Ответ написан
Ваш ответ на вопрос

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

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