Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие рязанова.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.55 Mб
Скачать

Времена окончания обработки деталей на станках a и b

Шаг обработки

Номер детали

Станок А

Станок В

1

4

6

16

2

3

14

28

3

2

30

48

4

1

50

71

5

7

64

89

6

5

78

99

7

6

98

107

Практическое занятие 2.1 Алгоритмы порождения комбинаторных объектов

Цель занятия: изучить основные комбинаторные объекты, алгоритмы их порождения, программно реализовать и оценить временную сложность алгоритмов.

Задания

1. Реализовать алгоритм порождения подмножеств.

2. Построить график зависимости количества всех подмножеств от мощности множества.

3. Построить графики зависимости времени выполнения алгоритмов п.1 на вашей ЭВМ от мощности множества.

4. Определить максимальную мощность множества, для которого можно получить все подмножества не более чем за час, сутки, месяц, год на вашей ЭВМ.

5. Определить максимальную мощность множества, для которого можно получить все подмножества не более чем за час, сутки, месяц, год на ЭВМ, в 10 и в 100 раз быстрее вашей.

6. Реализовать алгоритм порождения сочетаний.

7. Построить графики зависимости количества всех сочетаний из n по k от k при n=(5, 7, 9).

8. Реализовать алгоритм порождения перестановок.

9. Построить график зависимости количества всех перестановок от мощности множества.

10. Построить графики зависимости времени выполнения алгоритма п.8 на вашей ЭВМ от мощности множества.

11. Определить максимальную мощность множества, для которого можно получить все перестановки не более чем за час, сутки, месяц, год на вашей ЭВМ.

12. Определить максимальную мощность множества, для которого можно получить все перестановки не более чем за час, сутки, месяц, год на ЭВМ, в 10 и в 100 раз быстрее вашей.

13. Реализовать алгоритм порождения размещений.

14. Построить графики зависимости количества всех размещений из n по k от k при n=(5, 7, 9).

Практическое занятие 2.2 Разбиения множеств

Цель занятия: изучить различные разбиения множеств, алгоритмы их порождения, программно реализовать и оценить временную сложность алгоритмов.

Задания

1. Реализовать алгоритм порождения всех упорядоченных разбиений n-элементного множества на k подмножеств.

2. Написать программу, формирующую таблицу Т (табл. 2.7), в которой строки соответствуют количеству n элементов в множестве, а столбцы – количеству k подмножеств в разбиении. Клетка таблицы Тn,k при k≤n должна содержать количество всех упорядоченных разбиений n-элементного множества на k подмножеств, а при k>n клетка таблицы Тn,k не заполняется.

Таблица 2.7

Количество упорядоченных разбиений

n-элементного множества на k подмножеств

количество k подмножеств в разбиении

1

2

3

. . . . .

N

мощность n множества

1

2

3

:

:

n

3. Реализовать алгоритм порождения всех упорядоченных разбиений n-элементного множества.

4. Написать программу, вычисляющую количество всех упорядоченных разбиений n-элементного множества. Результат представить в виде таблицы (табл. 2.8 ).

5. Реализовать алгоритм порождения всех разбиений n-элементного множества на k подмножеств.

6. Написать программу, формирующую таблицу Т (табл. 2.9), в которой строки соответствуют количеству n элементов в множестве, а столбцы – количеству k подмножеств в разбиении. Клетка таблицы Тn,k

при k≤n должна содержать количество всех разбиений n-элементного множества на k подмножеств, а при k>n клетка таблицы Тn,k не заполняется.

Таблица 2.8

Количество упорядоченных разбиений

Мощность множества

Количество упорядоченных разбиений

1

2

3

:

:

n

Таблица 2.9

Количество разбиений n-элементного множества на k подмножеств

количество k подмножеств в разбиении

1

2

3

. . . . .

N

мощность n множества

1

2

3

:

:

n

7. Реализовать алгоритм порождения всех разбиений n-элементного множества.

8. Написать программу, вычисляющую количество всех разбиений n-элементного множества. Результат представить в виде таблицы (табл. 2.10).

Таблица 2.10

Количество упорядоченных разбиений

Мощность множества

Количество разбиений

1

2

3

:

:

n