Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

37K
01 мая 2011 года
Tolias28
48 / / 20.09.2010
Задан массив элементов(другими словами - множество). Нужно создать алгоритм, который перечислил бы все подмножества даного множества. Например, есть множество A={1,2,3,4}. Результатом работы алгоритма будут следующие подмножества:
0 (пустое множество)
1
2
3
4
12
13
14
23
24
34
123
124
134
234
1234
Как известно, число этих подмножеств равно 2^n (2 в степени n).
Вот как такой алгоритм придумать? Я сижу вот уже битый час и что-то алгоритм не строится, мозг кипит))
Для множеств с числом элементов меньше трех еще что-то умное в голову приходит, но вот как придумать алгоритм для множеств с любым количеством элементов? Помогите пожалуйста)

P.S. Алгоритм готов принять в любом виде(блоксхема, псевдокод, или любой код языка программирования). Главное, чтобы были желающие откликнуться на мой вопрос) а там по ходу разберусь))

Помогите пожалуйста)
53K
01 мая 2011 года
elfon
3 / / 03.11.2009
Используй двоичное число как маску(либо в прямом виде, либо создай какую-нибудь структуру, имитирующею двоичное число). Накладывая маску на элементы исходного множества будешь получать подмножества.
Для твоего примера:
0000 - пустое
1000 - 1
0100 - 2
...
1100 - 12
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог