Задание 1 - ReshimNa5.ru

advertisement
Федеральное агентство связи
ФГОБУ ВПО «Сибирский государственный университет
телекоммуникаций и информатики»
Уральский технический институт связи и информатики (филиал)
В.П. Некрасов
ДИСКРЕТНАЯ МАТЕМАТИКА
Методические указания по выполнению домашней контрольной работы
для студентов заочной формы обучения (нормативного срока)
на базе среднего (полного) общего образования направления
230100 «Информатика и вычислительная техника»
профили «Программное обеспечение средств
вычислительной техники и автоматизированных систем»,
«Вычислительные машины, комплексы, системы и сети»
в соответствии с требованиями ФГОС ВПО 3 поколения
Квалификация (степень) выпускника «бакалавр»
Екатеринбург
2011
1
УДК 519.1
ББК 22.17я73
Рецензент: к.т.н., доцент кафедры информатики ГОУ ВПО «УГГУ» Ю.С. Петров
Некрасов В. П.
Дискретная математика: Методические указания по выполнению домашней контрольной работы / В.П. Некрасов. — Екатеринбург: УрТИСИ ФГОБУ
ВПО «СибГУТИ», 2011. — 42 с.
Методические указания предназначены для выполнения домашней контрольной работы (ДКР) по дисциплине «Дискретная математика».
Методические указания содержат задания по темам:
- основы теории множеств;
- отношения;
- основы теории алгоритмов;
- методы сортировки.
Рекомендовано НМС УрТИСИ ФГОБУ ВПО СибГУТИ в качестве методических указаний по выполнению домашней контрольной работы студентами
заочной формы обучения на базе среднего (полного) общего образования по
направлению 230100 «Информатика и вычислительная техника» профили:
«Программное обеспечение средств вычислительной техники и автоматизированных систем», «Вычислительные машины, комплексы, системы и сети»
УДК 519.1
ББК 22.17я73
Кафедра информационных систем и технологий
 УрТИСИ ФГОБУ ВПО «СибГУТИ», 2011
2
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .............................................................................................................. 4
Содержание дисциплины ........................................................................................ 5
Задание и методические указания по выполнению ДКР ................................... 10
Задание 1 ................................................................................................................. 10
Задание 2 ................................................................................................................. 17
Задание 3 ................................................................................................................. 19
Задание 4 ................................................................................................................. 41
3
ВВЕДЕНИЕ
Методические указания по выполнению домашней контрольной работы
составлены в соответствии с рабочей программой по дисциплине «Дискретная
математика» для направления 230100 «Информатика и вычислительная техника»
Современной вычислительной, информационной и телекоммуникационной технике присущ дискретный характер процессов, поэтому теоретической
основой их описания является дискретная математика. Изучаемые понятия, методы и алгоритмы в той или иной степени встречаются в последующих курсах
данной специальности.
Содержание дисциплины включает семь тем. Структура учебной дисциплины характеризуется как комплексным подходом к пониманию общих методов дискретной математики, так и прагматической направленностью курса на
освоение его основных понятий. Выполнение домашней контрольной работы
позволит студентам закрепить теоретические знания курса и использовать их
при последующем изучении как общепрофессиональных, так и специальных
дисциплин.
4
Содержание дисциплины
1. Цели и задачи дисциплины:
Целью преподавания дисциплины «Дискретная математика» является подготовка студента к профессиональной деятельности, связанной с формированием его общей технической культуры.
Изучение основных понятий дискретной математики, их взаимосвязей и
областей практического применения формирует общий технический уровень
студента, позволяющий ему эффективно решать инженерные и научно технические задачи.
2. Место дисциплины в структуре ООП:
Дисциплина «Дискретная математика» относится к числу дисциплин вариативной части ООП и является дисциплиной по выбору студента для подготовки бакалавров по направлению 230100 «Информатика и вычислительная техника».
Дисциплина «Дискретная математика» опирается на такие дисциплины как
«Математика» и «Информатика» и имеет непосредственную связь с такими
дисциплинами, входящими в учебный план, как «Базы данных», «Теория принятия решений», «Теория автоматов», «Теория сложностей вычислительных
процессов и структур».
Знания и умения, полученные в результате освоения материала курса
«Дискретная математика», являются базой для формирования единого образовательного пространства при подготовке бакалавра по направлению «Информатика и вычислительная техника».
3. Требования к результатам освоения дисциплины:
Процесс изучения дисциплины направлен на формирование следующих
компетенций:
 владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения (ОК-1);
 использует основные законы естественнонаучных дисциплин в профессиональной деятельности, применяет методы математического анализа и моделирования, теоретического и экспериментального исследования (ОК-10);
В результате изучения дисциплины студент должен:
Знать: основные положения теории множеств; отношения на множествах;
базовые структуры представления данных; основные положения теории графов;
основные виды комбинаторных алгоритмов; элементы теории сложности, методы построения эффективных алгоритмов.
Уметь: применять математические методы для решения практических задач; определить метод и выбрать наиболее приемлемый алгоритм для программной реализации конкретной задачи, оценить его временную сложность;
подобрать наиболее подходящую структуру представления данных.
5
Владеть: методами построения эффективных алгоритмов.
4. Объем дисциплины и виды учебной работы:
Общая трудоемкость дисциплины составляет 4 зачетные единицы.
Виды учебной работы, формы контроля Всего, час. Учебные семестры
144
4
16
16
Аудиторные занятия
В том числе
Лекции
8
8
Практические занятия (ПЗ)
8
8
Лабораторные работы (ЛР)
128
128
Самостоятельная работа (всего)
В том числе:
Подготовка к аудиторным занятиям (ПАЗ)
Курсовая работа (КР)
Экзамен
0
Экзамен
Общая трудоемкость по учебному плану
144
144
Трудоемкость в зачетных единицах
4
4
5. Содержание дисциплины
5.1. Содержание разделов дисциплины
5.1.1. Элементы теории множеств
О понятии множества. Принадлежность элемента множеству. Конечные и
бесконечные множества. Универсум. Мощность множества. Пустое множество.
Способы задания множеств. Свойства множеств. Равенство двух множеств.
Подмножества.
Теоретико - множественные операции. Их интерпретация кругами Эйлера.
Свойства операций над множествами. Изоморфизм теоретико-множественных
и логических операций.
Вектор (кортеж). Декартово произведение множеств.
5.1.2. Отношения
Отношения на множествах. Бинарное отношение. Определение отношения.
Задание отношений. Задание графа через отношение. Свойства отношений. Интерпретация свойств отношений с помощью теории графов.
Отношение эквивалентности. Отношение порядка.
Отношение как базовое понятие в реляционных базах данных. Поле. Запись. Домен. Операции над таблицами.
5.1.3. Основные понятия теории графов
Определение графа. Смежность. Инцидентность. Изоморфизм. Мультиграф. Псевдограф. Подграф. Полный граф. Двудольный граф. Планарный граф.
Степень вершины. Теорема Эйлера. Маршрут. Цепь. Простая цепь. Цикл. Простой цикл. Эйлеров и гамильтонов циклы.
6
Ориентированный граф. Полустепени исхода и захода. Ориентированный
маршрут. Путь. Контур. Длина маршрута. Взвешенный граф.
Матрицы графа. Матрица смежностей. Матрица инциденций. Связный
граф. Компоненты связности. Дерево. Остовное дерево. Раскраска графа. Хроматическое число.
5.1.4. Структуры данных
Понятие структуры данных в программировании.
Одномерный и двумерный массивы. Стек. Очередь. Дерево. Размещение
дерева по уровням.
Представление графа в компьютере. Представление матрицей смежностей,
массивами ребер, списками смежностей. Реализация списков смежностей упакованным массивом.
5.1.5. Комбинаторные алгоритмы на графах
Интуитивное понятие алгоритма. Свойства алгоритма. Вычислительные и
комбинаторные алгоритмы. Схема поиска решения комбинаторной задачи. Метод полного перебора. Комбинаторный взрыв. Жадные и эвристические алгоритмы.
Временная эффективность алгоритмов. Асимптотические оценки сложности. Полиномиальные и экспоненциальные алгоритмы. Контрольные прогоны.
Нахождение минимального остовного дерева. Жадный алгоритм. Алгоритм Прима.
Алгоритм Дейкстра поиска кратчайшего пути в графе между двумя заданными вершинами. Алгоритм Уоршолла построения транзитивного замыкания.
Эвристические алгоритмы. Основные правила. Последовательный алгоритм раскраски графа. Алгоритм раскраски графа А.П. Ершова.
5.1.6. Методы сортировки
Внутренняя сортировка. Пузырьковые сортировки. Сортировки выбором и
вставкой. Быстрая сортировка. Пирамидальная сортировка. Сортировка подсчетом.
Внешняя сортировка. Методы прямого и естественного слияния. Основная
теорема сортировки.
5.1.7. Поиск
Бинарный поиск. Поиск на графах в глубину и ширину. Поиск связных
компонент графа. Топологическая сортировка.
Поиск в строке текста заданного фрагмента. Последовательный поиск. Метод Боуэра и Мура.
7
5.2 Разделы дисциплины и междисциплинарные связи
с обеспечиваемыми (последующими) дисциплинами
№ Наименование
№ разделов данной дисциплины, необходимых для
п/п обеспечиваемых
изучения обеспечиваемых (последующих) дисци(последующих)
плин
дисциплин
5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7
1
Базы данных
+
+
+
2
Теория принятия
+
+
+
+
+
+
+
решений
3
Теория автоматов
+
+
+
4
Теория сложнос+
+
+
+
тей вычислительных процессов и
структур
5.3. Разделы дисциплин и виды занятий
№
Наименование раздела дисциплины
п/п
I
II
III
IV
V
VI
VII
Элементы теории множеств
Отношения
Основные понятия теории графов
Структуры данных
Комбинаторные алгоритмы на графах
Методы сортировки
Поиск
Итого по дисциплине
Лекции
Практ. Сезан.
мин
1
1
1
1
1
2
4
2
1
8
2
8
СРС
14
14
20
20
20
Всего
час.
16
16
21
20
26
20
20
128
24
21
144
6. Практические занятия (семинары)
№ № раздела
Тематика практических
Трудомкость
п/п дисциплины
занятий (семинаров)
(час.)
1
I
Теоретико-множественные операции
1
2
II
Свойства отношений
1
3
VI
Нахождение минимального остовного дере2
ва
4
VI
Раскраска графа в минимальное число цве2
тов
5
VII
Методы сортировки
2
8
7. Учебно-методическое и информационное обеспечение дисциплины
а) основная литература
1. Некрасов В.П. Элементы дискретной математики: Учебное пособие. 2-е
изд., перераб. и доп. — Екатеринбург: УрТИСИ ФГОБУ ВПО «СибГУТИ»,
2006
2. Некрасов В. П. Методы поиска: Учебное пособие. — Екатеринбург: УрТИСИ ФГОБУ ВПО «СибГУТИ», 2008
3. Некрасов В. П. Методы сортировки: Учебное пособие. — Екатеринбург:
УрТИСИ ФГОБУ ВПО «СибГУТИ», 2007
4. Некрасов В. П. Структуры данных: Учебное пособие. — Екатеринбург:
УрТИСИ ФГОБУ ВПО «СибГУТИ», 2007
б) дополнительная литература
1. Москинова Г.И. Дискретная математика. Математика для менеджера в
примерах и упражнениях. М.: Логос, 2002
2. Аляев Ю.А., Тюрин С.Ф. Дискретная математика и математическая логика: учебник. — М.: Финансы и статистика, 2006
3. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. М.:
МЦНМО, 2000
4. Кузнецов О.П. Дискретная математика для инженера. СПб.: Лань, 2004
8. Материально-техническое обеспечение дисциплины
Компьютерный класс с подключением к сети Интернет.
9. Методические рекомендации по организации изучения дисциплины
Для обеспечения освоения дисциплины используются разработанные преподавателями кафедры методические материалы в форме учебных пособий.
9
Задание и методические указания по выполнению ДКР
Задание 1
Основы теории множеств
1. Цель работы:
1.1. Изучить основные понятия теории множеств.
1.2. Описать множества с помощью теоретико-множественных операций.
2. Подготовка к работе:
Изучить главу 1 учебного пособия /1/ (с. 6 — 13). Изучить соответствующие материалы по конспекту лекций.
Уточнить у преподавателя номер варианта, который совпадает с номером
фамилии студента в групповом журнале.
3. Задание:
3.1. Пусть элементами множеств являются точки кругов A, B, C, D, E, F, а
универсумом U — точки прямоугольника. С помощью теоретикомножественных операций описать элементы множеств, принадлежащие заштрихованным областям S1, S2, S3 и общей заштрихованной области S.
3.2. Отобразить заданное множество с помощью кругов Эйлера.
3.3. Составить отчет по практической работе.
3.4. Ответить на контрольные вопросы.
4. Порядок выполнения работы:
4.1. Задания выполнять последовательно. Задание 3.2 является обратным
по отношению к первому заданию и более сложным. Поэтому его следует выполнять после задания 3.1.
4.2. Задание 3.2 выполнять по шагам. Учесть, что операция «дополнение до
универсума» имеет более высокий приоритет перед другими теоретикомножественными операциями.
5. Содержание отчета:
5.1. Тема и цель работы.
5.2. Выполненное задание.
5.3. Ответы на контрольные вопросы.
6. Контрольные вопросы:
6.1. Способы задания множеств.
6.2. Свойства множеств.
6.3. Теоретико-множественные операции.
6.4. Свойства теоретико-множественных операций.
10
3.1. Варианты заданий
Вариант № 1
Вариант № 2
Вариант № 3
Вариант № 4
Вариант № 5
Вариант № 6
11
Вариант № 7
Вариант № 8
Вариант № 9
Вариант № 10
Вариант № 11
Вариант № 12
Вариант № 13
Вариант № 14
12
Вариант № 15
Вариант № 16
Вариант № 17
Вариант № 18
Вариант № 19
Вариант № 20
Вариант № 21
Вариант № 22
13
Вариант № 23
Вариант № 24
Вариант № 25
Вариант № 26
Вариант № 27
Вариант № 28
Вариант 29
Вариант 30
14
Вариант 31
Вариант 32
Вариант 33
Вариант 34
Вариант 35
Вариант 36
Вариант № 37
Вариант № 38
15
Вариант № 39
Вариант № 40
3.2. Варианты заданий
1. B  ( A  C)
2. X  (Y  Z )
3. X \ (Y  Z )
5. F  (H \ K )
7. A  ( B  C )
9. B  ( A \ C)
11. A  (C  B )
4. B  (C  D)
6. X \ (Y \ Z )
8. X  (Y  Z )
10. D  ( E \ F )
12. X \ (Y  Z )
14. C  ( A \ B)
13. B  ( A  C )
15. B  (D \ F )
17. C \ ( A  B)
19. B  (C \ A)
21. A \ ( B  C )
16. X  (Y  Z )
23.
25.
27.
29.
31.
24.
26.
28.
30.
32.
18. A \ (C  D )
20. X  (Y  Z )
22. A  ( B \ C )
A  ( X Y )
B  ( A  C)
( A  B) \ C
( X Y ) \ Z
( X  Y )  (Y  Z )
34. X  Y \ (Y  Z )
X \ (Y \ Z )
B \ ( X Y )
C \ ( A  B)
(B  C) \ A
( X \ Y )  (Y \ Z )
33. ( A \ B)  (C \ B)
35. Z \ X  Y
37. A  B  ( B \ C )
36. A \ B \ C
38. X \ Y \ Z
39. C \ A  B
40. ( X  Y )  ( X  Y  Z )
16
Задание 2
Отношения
1. Цель работы:
1.1. Изучить основные понятия бинарных отношений.
1.2. Изучить задание отношений и их свойства.
2. Подготовка к работе:
Изучить главу 2 учебного пособия /1/ (с. 20 — 28). Изучить соответствующие материалы по конспекту лекций.
Работа выполняется не по вариантам, одно задание дается для всей группы. Поэтому настоятельно рекомендуется выполнять ее самостоятельно, поскольку понятие отношения, как и понятие множества, пронизывает все разделы курса.
3. Задание:
3.1. На множестве X = {x1, x2, x3, x4} = {1, 2, 3, 4} заданы отношения:
а) R = «<»; б) R= «>»; в) R = «  »; г) R = «=»; д) R = «».
Для каждого отношения R определить его как подмножество декартова
произведения X  X, построить матрицу отношения C, определить свойства отношения.
Для каждого свойства выписать формулу, нарисовать граф, привести пример.
Например, для R = «» решение будет следующим:
X  X = {x1, x2, x3, x4}  {x1, x2, x3,x4} = {x1x1, x1x2, x1x3, x1x4, x2x1, x2x2, x2x3,
x2x4, x3x1, x3x2, x3x3, x3x4, x4x1, x4x2, x4x3, x4x4} = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 1),
(2, 2), (2, 3), (2, 4), (3, 1), (3, 2), (3, 3), (3, 4), (4, 1), (4, 2), (4, 3), (4, 4)}.
R = {x1x1, x1x2, x1x3, x1x4, x2x2, x2x3, x2x4, x3x3, x3x4, x4x4} = {(1, 1), (1, 2),
(1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)}.
C
1
2
3
4
1
1
0
0
0
2
1
1
0
0
Рефлексивность
xRx
x=1
11
17
3
1
1
1
0
4
1
1
1
1
Транзитивность
xRy и yRz  xRz
x=2 y=2 z=4
22и2424
3.2. В доме имеется три квартиры. В первой живет семья из двух человек,
во второй — один человек, в третьей — семья из трех человек. Взяв в качестве
множества Х = {x1, x2, x3, x4, x5, x6} число людей, проживающих в доме, построить матрицу С бинарного отношения R = «жить в одной квартире». Определить свойства отношения R и дать их содержательную интерпретацию. Нарисовать граф отношения R.
3.3. Составить отчет по практической работе.
3.4. Ответить на контрольные вопросы.
4. Порядок выполнения работы:
4.1. Задания выполнять последовательно. В задании 3.1 описывать только
те свойства отношений, которые выполняются, как это сделано в разобранном
примере для R = «».
4.2. В задании 3.2 обратить внимание на содержательную интерпретацию
свойств отношения. Исходить следует из вида формулы, описывающей данное
свойство.
Например, если отношение R между элементами x и y, x, y  X обладает
симметричностью, то это записывается как xRy  yRx. Поэтому содержательная интерпретация свойства «симметричность» может быть, например, такой:
«Если мать живет с дочерью в одной квартире, то и дочь живет с матерью в одной квартире».
При изображении графа следует учитывать, что его требуется нарисовать
для самого отношения R = «жить в одной квартире», а не для его свойств.
5. Содержание отчета:
5.1. Тема и цель работы.
5.2. Выполненное задание.
5.3. Ответы на контрольные вопросы.
6. Контрольные вопросы:
6.1. Определение бинарного отношения.
6.2. Свойства отношений и их интерпретация с помощью теории графов.
6.3. Определение отношения эквивалентности.
6.4. Определение отношения порядка.
18
Задание 3
Основы теории алгоритмов
1. Цель работы:
1.1. Изучить методы построения минимального остовного дерева.
1.2. Изучить методы раскраски графа в минимальное число цветов.
2. Подготовка к работе:
Изучить главы 4  7 учебного пособия /1/, главы 1  5 учебного пособия
/2/, учебное пособие /4/. Изучить соответствующие материалы по конспекту
лекций.
Уточнить у преподавателя номер варианта, который совпадает с номером
фамилии студента в групповом журнале.
При изучении теоретического материала обратить внимание на следующее:
1. Определение графа говорит о том, сколько у него вершин и как они связаны между собой, а не о том, как он изображен на бумаге. Граф характеризует
структуру объекта, поэтому теория графов успешно применяется для решения
задач, в математических моделях которых может быть выделена структура.
2. Алгоритмы на графах относятся к комбинаторным алгоритмам. В отличие от вычислительных алгоритмов, имеющих одно решение, комбинаторные
алгоритмы имеют несколько решений, среди которых следует найти оптимальное.
3. Алгоритмы построения минимального остовного дерева относятся к
классу жадных алгоритмов. Они всегда приводят к оптимальному решению.
4. Алгоритмы раскраски графа в минимальное число цветов относятся к
классу эвристических алгоритмов. Эвристика — это предположение или правило, основанное на здравом смысле. Поэтому эвристические алгоритмы не гарантируют оптимального решения, хотя оно возможно для частных случаев.
3. Задание:
3.1. Дан взвешенный граф G. Построить минимальные остовные деревья
жадным алгоритмом и алгоритмом Прима.
3.2. Дан неориентированный граф G. Раскрасить граф последовательным
алгоритмом и алгоритмом А. П. Ершова в минимальное число цветов.
3.3. Составить отчет по практической работе.
3.4. Ответить на контрольные вопросы.
4. Порядок выполнения работы:
4.1. Задания выполнять последовательно. При практическом выполнении
работы обратить внимание на следующее:
4.2. Построение минимального остовного дерева жадным алгоритмом (с.
74 - 75 учебного пособия /1/, с. 26 - 27 учебного пособия /2/), выполнять по шагам. На каждом шаге добавлять только одно ребро с минимальным весом. При
этом оно не должно образовывать цикл с построенной частью.
19
Достоинством алгоритма является его внешняя простота, недостатком —
необходимость проверки на каждом шаге наличия цикла. Для графов больших
размерностей (а именно они характерны для реальных задач) программная реализация алгоритма может привести к большому времени его работы.
4.3. При построении минимального остовного дерева алгоритмом Прима
(с. 75 - 76 учебного пособия /1/, с. 29 - 30 учебного пособия /2/) выбор очередного ребра на включение в остов графа производить только из ребер, связывающих выбранные вершины с невыбранными, т. е. только из тех ребер, которые
рекомендуется изображать штриховыми линиями. Нельзя соединять штрихом
две выбранные вершины и две невыбранные.
Достоинством алгоритма является то, что в нем нет понятия цикла. Он
пригоден для программирования и успешно применяется для решения практических задач.
4.4. При раскраске графа в минимальное число цветов использовать эвристику «не отменяй принятых решений». Это означает, что вершины не перекрашиваются.
При раскраске графа в минимальное число цветов последовательным алгоритмом (с. 86 – 88 учебного пособия /1/, с. 56 - 57 учебного пособия /2/) использовать эвристику «упаковывая вещи, начинай с громоздких предметов». Это
означает, что в первую очередь следует раскрашивать вершины с максимальной
степенью.
Для этого номера вершин графа G (индексы массива A на с. 87 учебного
пособия /1/, с. 57 учебного пособия /2/) упорядочиваются по невозрастанию
степеней и заносятся в массив B.
Раскраска графа происходит поэтапно. На каждой итерации вершины графа окрашивают в определенный цвет. Для этого массив B просматривают слева
направо, и, если данная вершина может быть окрашена в этот цвет, то характеризующий его символ заносится в массив C.
4.5. При раскраске графа в минимальное число цветов алгоритмом А. П.
Ершова (с. 88 – 91 учебного пособия /1/, с. 58 - 62 учебного пособия /2/) использовать эвристику «очередную вершину x для раскраски тем же цветом выбирать в окрестности R2(x)». При этом мы стремимся покрасить одним цветом
как можно больше вершин графа.
5. Содержание отчета:
5.1. Тема и цель работы.
5.2. Выполненное задание.
5.3. Ответы на контрольные вопросы.
6. Контрольные вопросы:
6.1. Определение алгоритма.
6.2. Свойства алгоритма.
6.3. Определение комбинаторного алгоритма.
6.4. Суть жадного алгоритма.
6.5. Суть эвристического алгоритма. Основные правила.
20
6.6. На каких шагах может произойти потеря оптимального решения в алгоритме раскраски графа А. П. Ершова?
6.7. Если граф в алгоритме раскраски А. П. Ершова представить матрицей
смежностей, то какая операция при программной реализации алгоритма соответствует склеиванию двух вершин?
21
Варианты заданий на построение минимального остовного дерева
2
Вариант 1
4
3
2
6
1
2
3
4
1
3
Вариант 2
1
7
5
2
2
4
1
2
3
Вариант 3
6
4
7
5
3
6
8
1
4
2
3
1
Вариант 4
1
9
2
2
7
9
6
1
3
7
3
8
3
5
9
6
4
4
22
6
7
6
2
2
1
8
5
7
3
3
2
8
5
2
Вариант 5
1
6
3
4
8
1
2
5
3
7
4
3
2
Вариант 6
5
3
1
7
6
9
4
3
1
8
1
4
2
6
5
9
2
7
6
5
4
3
1
Вариант 8
2
9
2
3
Вариант 7
8
6
5
2
3
7
4
8
2
6
5
1
7
9
8
Вариант 9
6
1
4
2
2
3
5
3
23
9
6
8
7
4
Вариант 10
4
1
2
2
4
6
3
5
1
3
7
4
1
5
2
5
Вариант 11
3
4
1
4
3
2
4
1
1
5
6
2
2
Вариант 12
2
3
3
1
4
7
4
2
5
8
5
1
7
4
2
3
4
Вариант 13
5
2
1
2
1
3
5
7
8
8
3
2
3
4
1
24
4
1
Вариант 14
4
2
5
3
1
3
1
6
3
6
2
2
1
5
4
7
2
3
Вариант 15
3
4
5
5
6
2
4
1
2
4
6
4
1
3
8
3
Вариант 16
4
7
4
6
2
1
1 6
2
1
1
3
7
5
5
8
4
2
3
1
2
Вариант 17
1
3
5
4
2
7
1
7
2
4
2
Вариант 18
4
3
5
5
7
6
4
5
1
2
5
2
1
5
4
6
7
25
2
1
Вариант 19
44
1
2
7
5
3
1
2
9
1
2
4
3
4
5
8
6
6
7
8
2
Вариант 20
3
4
1
4
5
1
8
3
3
6
2
4
7
1
6
Вариант 21
7
1
2
5
7
8
4
2
3
3
4
5
2
6
6
1
8
7
Вариант 22
4
1
3
5
6
2
4
1
3
2
7
2
6
11
5
4
3
Вариант 23
2
1
6
3
5
7
4
6
5
2
3
26
3
1
6
8
Вариант 24
7
6
2
1
1
2
3
5
4
4
2
1
4
6
4
Вариант 25
2
1
6
2
3
5
1
3
5
1
4
1
Вариант 26
4
3
2
4
5
3
2
1
2
4
3
6
1
2
3
5
2
3
Вариант 27
1
5
4
6
4
1
2
3
7
6
9
8
7
2
6
5
8
8
3
4
3
4
Вариант 28
1
1
2
3
2
5
2
2
4
4
5
6
27
5
Вариант 29
1
4
2
3
6
1
1
5
3
3
2
4
5
7
6
8
2
4
3
Вариант 30
2
4
3
1
1
5
6
7
4
8
3
5
2
4
3
Вариант 31
1
4
6
4
7
2
5
2
4
4
2
5
Вариант 32
3
9
2
3
4
6
4
3
6
5
5
3
7
3
1
3
7
4
7
9
9
28
Вариант 33
7
4
3
6
4
2
4
1
5
5
6
2
3
2
1
4
5
5
Вариант 34
4
2
6
6
3
2
5
4
3
7
8
3
4
3
4
Вариант 35
3
5
1
3
7
8
6
3
2
1
3
5
6
7
7
Вариант 36
4
4
2
3
5
5
4
1
5
4
3
2
5
6
4
3
29
3
3
5
Вариант 37
2
4
3
2
7
5
1
4
6
4
1
6
3
4
7
2
Вариант 38
4
6
5
3
1
6
3
3
4
8
1
1
4
7
7
5
1
4
Вариант 39
3
3
7
5
1 3
1
1
5
6
1
4
5
7
9
2
4
3
6
Вариант 40
1
3
5 1
4
6
2
3
5
5
6
2
30
6
6
6
7
4 5
Варианты заданий раскраски графа в минимальное число цветов
Дан неориентированный граф G. Раскрасить граф в минимальное число
цветов последовательным алгоритмом и алгоритмом А. П. Ершова.
2
1
3
Вариант 1
5
4
6
8
7
Вариант 2
2
1
6
3
7
4
8
2
1
5
9
3
10
4
5
Вариант 3
6
7
10
2
1
3
5
4
Вариант 4
9
8
7
6
8
10
9
31
Вариант 5
2
1
4
3
5
6
Вариант 6
7
1
8
2
4
3
5
6
7
8
2
1
4
3
Вариант 7
6
5
8
7
1
2
3
Вариант 8
4
5
6
7
8
9
1
Вариант 9
5
2
6
32
3
4
7
8
1
2
3
4
Вариант 10
5
6
8
9
7
1
2
Вариант 11
5
4
3
6
7
8
9
Вариант 12
1
2
6
5
4
3
7
8
9
1
2
Вариант 13
3
7
4
5
6
8
9
33
Вариант 14
3
1
2
4
5
8
7
1
6
2
9
3
4
Вариант 15
6
5
7
8
1
9
2
10
3
4
Вариант 16
5
6
7
9
1
8
10
2
3
4
5
Вариант 17
6
7
8
9
1
2
3
Вариант 18
4
5
7
34
6
8
Вариант 19
1
2
4
1
3
5
2
6
7
8
9
10
1
2
3
4
Вариант 20
5
6
7
8
9
1
Вариант 21
3
2
5
4
6
8
9
1
Вариант 22
7
2
3
4
6
5
7
8
9
35
1
Вариант 23
2
3
4
5
6
7
8
9
2
3
1
Вариант 24
4
5
7
6
8
1
2
Вариант 25
3
4
5
7
6
8
1
Вариант 26
9
2
5
4
3
6
7
2
1
8
3
Вариант 27
4
5
6
7
9
8
8
8
36
10
Вариант 28
1
2
3
4
5
6
7
8
1
2
Вариант 29
3
4
5
7
6
8
9
Вариант 30
10
1
2
5
3
6
4
7
1
8
2
3
Вариант 31
4
5
6
7
9
8
37
1
2
Вариант 32
3
4
5
6
8
9
9
1
Вариант 33
3
7
2
6
5
4
8
7
1
9
2
Вариант 34
4
3
6
5
7
8
9
1
2
3
Вариант 35
4
5
6
7
38
8
1
Вариант 36
4
2
5
7
3
6
8
9
10
1
Вариант 37
2
3
4
6
5
7
8
6
9
2
1
Вариант 38
3
5
4
6
7
8
9
1
2
3
4
Вариант 39
5
6
9
7
8
10
39
1
Вариант 40
2
3
4
5
6
7
8
9
10
40
Задание 4
Методы сортировки
1. Цель работы:
1.1. Изучить основные методы сортировки.
1.2. Отсортировать всеми методами заданную числовую последовательность.
2. Подготовка к работе:
Изучить учебные пособия /3/ и /4/. Изучить соответствующие материалы
по конспекту лекций.
Уточнить у преподавателя номер варианта, который совпадает с номером
фамилии студента в групповом журнале.
3. Задание:
Отсортировать заданную последовательность:
3.1. Методом пузырьковой сортировки (1 способ).
3.2. Методом быстрой сортировки.
3.3. Сортировкой выбором.
3.4. Сортировкой включением.
3.5. Методом пирамидальной сортировки.
4. Порядок выполнения работы:
4.1. Задания выполнять последовательно. Для каждого метода определить
его достоинства и недостатки.
4.2. Методы 3.1  3.5 — это методы внутренней сортировки. Асимптотическая сложность методов 3.1, 3.3, 3.4 равна O(n2), 3.3 и 3.5 — O(nlog(n)).
4.3. Структурой представления данных для методов 3.1  3.4 является одномерный массив. Для метода 3.5 структурой данных является дерево. Одной
из форм практической реализации дерева является одномерный массив.
5. Содержание отчета:
5.1. Тема и цель работы.
5.2. Выполненное задание.
5.3. Ответы на контрольные вопросы.
6. Контрольные вопросы:
6.1. Почему методы пузырьковой сортировки самые медленные?
6.2. Когда быстрая сортировка быстро сортирует длинные файлы?
6.3. Может ли быть улучшена сортировка включением, если вместо структуры данных одномерный массив применить структуру данных список?
6.4. Что такое пирамида? Какими свойствами она обладает?
6.5. В чем суть основной теоремы сортировки?
41
Варианты заданий на методы сортировки
1) 27 13 21 24 43 29 19 9
3) 12 27 39 8 21 37 11 9
5) 26 30 15 38 24 49 1 30
7) 14 28 21 48 7 21 13 8
9) 15 5 4 33 40 7 17 14
11) 4 49 2 7 10 34 1 19
13) 30 48 21 16 14 41 43 36
15) 32 13 5 44 17 7 35 30
17) 15 17 7 28 31 35 2 26
19) 29 30 11 8 10 45 23 16
21) 22 5 7 46 45 47 7 24
23) 20 6 8 29 17 36 13 21
25) 29 49 25 32 36 17 20 34
27) 21 34 39 25 44 44 1 12
29) 32 29 22 34 9 9 44 23
31) 20 3 8 48 20 15 26 18
33) 28 13 16 34 41 20 29 10
35) 34 38 22 37 2 20 21 5
37) 11 56 8 27 2 31 9 18
39) 20 12 34 7 27 14 8 19
2) 34 15 1 15 3 45 36 29
4) 28 45 30 8 25 11 19 34
6) 33 40 35 15 7 32 40 28
8) 38 3 42 4 7 22 52 22
10) 24 53 8 12 13 49 29 39
12) 13 11 46 46 42 23 8 29
14) 23 34 48 6 38 29 15 17
16) 28 48 3 27 13 10 31 22
18) 23 33 20 7 49 6 39 12
20) 16 10 4 49 48 31 43 13
22) 19 17 19 34 18 17 13 22
24) 19 6 21 24 30 9 29 12
26) 12 16 1 20 12 6 16 13
28) 15 14 12 25 42 40 3 25
30) 30 28 36 3 3 19 49 21
32) 31 28 14 35 18 47 23 10
34) 6 18 7 33 10 5 33 5
36) 23 6 47 18 24 10 35 4
38) 21 16 87 5 24 9 15 22
40) 17 6 26 13 35 9 21 10
42
Download