Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
00466.docx
Скачиваний:
24
Добавлен:
13.11.2022
Размер:
941.8 Кб
Скачать

Тема 2. Алгоритмы комбинаторного перебора (6 часов)

Цель: Изучение базовых алгоритмов комбинаторного перебора.

Задачи:

– Закрепление материала лекций.

– Изучение ряда дополнительных алгоритмов комбинаторного перебора, не рассмотренных на лекциях.

– Знакомство с существующей литературой, посвященной алгоритмам комбинаторного перебора.

– Выработка умений по практическому созданию алгоритмов комбинаторного перебора.

– Выработка умений по решению ряда стандартных задач, связанных с основными понятиями комбинаторики.

– Выработка умений по сравнительному анализу вычислительной сложности алгоритмов комбинаторного перебора.

– Подготовка предварительных версий реализаций алгоритмов комбинаторного перебора для последующего использования в процессе лабораторных занятий.

– Изучение общих принципов комбинаторной генерации.

– Текущий контроль успеваемости и выполнения плана самостоятельной работы.

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

  1. Окулов, С.М. Программирование в алгоритмах / С.М. Окулов. - М.: Бином, 2007. 341с.

  2. Кнут, Д. Искусство программирования. Т. 4 Вып.2. Генерация всех кортежей и перестановок / Д. Кнут. - М.: Вильямс, 2008. 160 с.

  3. Кнут, Д. Искусство программирования. Т. 4 Вып.3. Генерация всех сочетаний и разбиений / Д. Кнут. - М.: Вильямс, 2008. 208 с.

  4. Кнут, Д. Искусство программирования. Т. 4 Вып.4. Генерация всех деревьев. История комбинаторной генерации / Д. Кнут. - М.: Вильямс, 2008. 160 с.

Рассматриваемые темы с указанием литературы

  1. Основные комбинаторные объекты.

[1] с. 27-34; [2] с. 12.

  1. Кортежи, перестановки, сочетания, размещения.

[1] с. 27-34; [2] с. 12-13.

  1. Генерация кортежей.

[2] с. 12-53.

  1. Коды Грея.

[2] с. 12-53.

  1. Генерация перестановок.

[1] с. 34-44; [2] с. 54-90.

  1. Генерация сочетаний.

[1] с. 50-58; [3] с. 10-51.

  1. Генерация размещений.

[1] с. 44-50

  1. Генерация разбиений.

[1] с. 58-63; [3] с. 52-82

  1. Генерация деревьев.

[4] с. 12-66.

ПЕДАГОГИЧЕСКИЕ ТЕХНОЛОГИИ

– фронтальный опрос,

– индивидуальные доклады (с презентациями),

– рассмотрение проблемных ситуаций,

– интерактивное написание компьютерных программ,

– индивидуальные и групповые задания,

– совместное решение задач.

ВОПРОСЫ И ЗАДАЧИ

Выборку по К элементов из множества А можно производить, руководствуясь правилами: считать разными выборки, в которых один и тот же элемент занимает разные позиции (либо не считать), допускать повторение одного и того же элемента в выбираемой группе (либо не допускать) и др. В зависимости от наложения определенных ограничений (правил) при выборе элементов разделяют три типа формирования комбинаторных групп. Рассмотрим их на примере:

Пусть N = 4, K = 2. Элементы исходного множества будем хранить в массиве А (рис. 2.1)

Рис. 2.1.

Тогда группы по 2 элемента, выбираемые из множества А можно сформировать так, как показано в таблице 2.1:

Таблица 2.1

Размещения

Сочетания

С повторениями

Без повторений

С повторениями

Без повторений

00

01

00

01

01

02

01

02

02

03

02

03

03

10

03

12

10

12

11

13

11

13

12

23

12

20

13

13

21

22

20

23

23

21

30

33

22

31

23

32

30

31

32

33

Группы {01} и {10} считаются различными

Исключаются группы, где один и тот же элемент стоит в разных позициях

Группы {01} и {10} считаются одинаковыми

Исключаются группы, где один и тот же элемент стоит в разных позициях

Существует еще и третий способ формирования комбинаторных групп: "Перестановки". В перестановках участвуют все элементы исходного множества (K = N ). Перестановки с повторениями возможны, когда в исходном множестве есть повторяющиеся элементы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]