Пятница, 10.01.2025, 19:20
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Дискретная математика - Генерация подмножеств
engineerklubДата: Понедельник, 28.10.2024, 07:08 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 29399
Репутация: 0
Статус: Offline
Дискретная математика - Генерация подмножеств

Тип работы: Работа Лабораторная
Форматы файлов: Исполняемые фалы (EXE), Microsoft Word, C
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Лабораторная работа № 2 Генерация подмножеств

Задано целое положительное число n, которое представляет собой мощность некоторого множества. Требуется с минимальными трудозатратами генерировать все подмножества этого множества, для чего каждое последующее подмножество должно получаться из предыдущего путем добавления или удаления только одного элемента. Множество и все его подмножества представляются битовой шкалой. Для генерации использовать алгоритм построения бинарного кода Грея.
В качестве результата выводить построчно каждое из подмножеств (в виде битовой шкалы), сопровождая их порядковыми номерами. В случае большого количества результирующих строк (превышающего размер экрана) выполнять поэкранную выдачу, а также осуществлять их вывод в файл с выдачей на экран сообщения для пользователя – имя файла, его местонахождение…
Алгоритм построения бинарного кода Грея
Вход: n  0 – мощность множества.
Выход: последовательность кодов подмножеств B (битовая шкала).
1. Инициализация массива В и его выдача на печать.
2. В цикле по i (от 1 до 2 n –1):
 а) Определение элемента для добавления или удаления: p:=Q(i);
 б) Добавление или удаление элемента B[p]:=1–B[p];
 в) Вывод очередного подмножества – массива B.
Функция Q(i) определяется как число, на единицу превышающее количество «2» в разложении числа i на множители. Очевидно, что для нечётных i значение этой функции равно 1, т.е. для нечётного i значение будет менять крайний правый бит шкалы (нумерация справа налево от 1), а для i, равных степени 2, будет «включаться» бит, соответствующий этой степени 2 (например, для 4 – 3-й бит, для 8 – 4-й бит, …).
Пример: Выполнение алгоритма для n=3. Дополнительно: множество {a,b,c}.

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru