
- •1. Цели и задачи дисциплины
- •2. Место дисциплины в структуре ооп
- •2.1. Междисциплинарные связи с обеспечивающими (предыдущими) дисциплинами
- •2.2. Междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
- •3. Требования к результатам освоения дисциплины
- •4. Объем дисциплины и виды учебной работы
- •5. Содержание дисциплины
- •5.1 Содержание разделов дисциплины
- •5.1.6 Исчерпывающий поиск
- •5.2 Разделы дисциплины и виды занятий
- •6. Практические занятия и самостоятельная работа
- •6.1. Лабораторный практикум
- •6.2. Практические занятия
- •10.2 Рекомендации для студента
- •10.3 Перечень контрольных вопросов для подготовки к итоговой аттестации по дисциплине
- •10.3 Перечень ключевых слов дисциплины
10.2 Рекомендации для студента
обязательное посещение лекций ведущего преподавателя; лекции – основное методическое руководство при изучении дисциплины, наиболее оптимальным образом структурированное и скорректированное на современный материал; в лекции глубоко и подробно, аргументировано и методологически строго рассматриваются главные проблемы темы; в лекции даются необходимые разные подходы к исследуемым проблемам;
подготовка и активная работа на практических занятиях; подготовка к практическим занятиям включает изучение материалов лекций, рекомендованной учебной литературы.
10.3 Перечень контрольных вопросов для подготовки к итоговой аттестации по дисциплине
Абстрактный тип данных
Линейные структуры данных
Нелинейные структуры данных
Бинарные деревья
Формула Шенона
Алгоритмы сжатия данных
Оптимальные префиксные коды
Бинарные деревья поиска
АВЛ-деревья
Красно-черные деревья
Алгоритмы сортировки
Внешняя и внутренняя сортировка
Порядковые статистики и медианы
Поиска в графе в глубину и ширину
NP-сложные и труднорешаемые задачи
10.3 Перечень ключевых слов дисциплины
Таблица 10.4. Ключевые слова
№ раздела |
№ модуля |
Наименование раздела |
Ключевые слова раздела |
5.1.1 |
|
Абстрактный тип данных |
Абстрактный тип данных, программа, алгоритм, структура данных, реализация, спецификация |
5.1.2 |
|
Линейные структуры данных |
Стек, очередь, дек |
5.1.3 |
|
Нелинейные связные структуры данных |
Иерархический список, граф |
5.1.4 |
|
Древовидные структуры |
Дерево, лес, обход |
5.1.5 |
|
Сжатие и кодирование информации |
Оптимальный префикс, кодовое дерево, вероятность |
5.1.6 |
|
Исчерпывающий поиск |
Метод ветвей и границ, динамическое программирование, жадные алгоритмы |
5.1.7 |
|
Быстрый поиск |
Хеш-таблица, хеш-функция |
5.1.8 |
|
Использование деревьев в задачах поиска |
АВЛ-дерево, красно-черное дерево. |
5.1.9 |
|
Сортировка, порядковые статистики |
Медиана, порядковая статистика |
5.1.10 |
|
Файлы, B-деревья |
В-дерево |
5.1.11 |
|
Алгоритмы на графах |
Минимальное остовное дерево, связность, сильная связность |
5.1.12 |
|
Теория сложности алгоритмов |
Класс сложности, полнота |
СОДЕРЖАНИЕ
1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ 3
2. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП 3
2.2. Междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами 3
3. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ ДИСЦИПЛИНЫ 3
4. ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ 4
5. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 5
5.1 Содержание разделов дисциплины 5
5.1.1 Абстрактный тип данных 5
Абстракция. Тип данных. Базовые структуры данных. Составные структуры данных. Понятие абстрактного типа данных (АТД). Независимость АТД от программной реализации. Излишняя спецификация в АТД, неявность спецификаций АТД. Абстрактный тип данных на примере структур хранения, представление, реализация. Связь между ООП и АТД. Стратегия разработки ПО с использованием АТД. 5
5.1.2 Линейные структуры данных 5
Стек, очередь и дек как линейные списки (последовательности) с ограниченными наборами операций (доступа). Стек, очередь и дек как абстрактные типы данных: функциональные спецификации и аксиомы. Представление и реализация (массив, связный список, двухсвязный список). Примеры алгоритмов, использующих стек, очередь, дек. 5
5.1.3 Нелинейные связные структуры данных 5
Иерархические списки, деревья и леса, бинарные деревья как абстрактные типы данных. Реализация иерархических списков, деревьев и лесов в виде односвязных и двухсвязных списков. 5
5.1.4 Древовидные структуры 5
Реализация деревьев (в том числе, ориентированных и взвешенных) с помощью матрицы инцидентности, списка ребер, списка смежности, с помощью одной ссылки на родителя. Варианты реализации бинарных деревьев. Варианты обходов деревьев. Отличия алгоритмов обхода. Отличия алгоритмов обхода в глубину и в ширину, использующих АТД «Структура хранения». 5
5.1.5 Сжатие и кодирование информации 5
Понятие информации. Связь между количеством информации, вероятностью и неопределенностью. Формула Хартли. Понятие бита. Формула Шенона. Концепция Эшби. Понятие кодирования. Виды, способы кодирования. Сжатие как разновидность кодирования. Виды сжатия. Алгоритмы для сжатия медиаданных. Универсальные алгоритмы сжатия. Словарные и статистические методы сжатия. Статическая, полуадаптивная и адаптивная модель сжатия. Алгоритм Хаффмана. Алгоритм арифметического кодирования. LZW-алгоритм. 5
5.1.6 Исчерпывающий поиск 5
Алгоритм перебора с возвратом, временная оценка для задачи коммивояджера. Оценка сложности поиска гамильтоного и эйлерова циклов. Метод ветвей и границ, стратегия ветвления, работа в среднем и худшем случае. Приближенный подход к решению задачи коммивояджера. Понятие динамического программирования. Этапы решения задачи методом динамического программирования. Условия применимости динамического программирования. Рекурсия с запоминанием. Жадные алгоритмы. Преобразование решения динамического программирования в жадное решение. Сравнение жадных алгоритмов и динамического программирования. 5
5.1.7 Быстрый поиск 6
Виды алгоритмов бинарного поиска. Варианты реализации и временные оценки алгоритмов. Таблицы с прямой адресацией, понятие хеш-таблицы, методы разрешения коллизий. Хеш-функция, качество, метод деления, метод умножения. Универсальное хеширование. Открытая адресация. Линейное и квадратичное исследование, двойное хеширование. Идеальное хеширование. 6
5.1.8 Использование деревьев в задачах поиска 6
Бинарные деревья поиска: поиск, максимум и минимум, предшествующий и последующий элемент, вставка и удаление. Случайные, оптимальные и сбалансированные по высоте бинарные деревья поиска. Красно-черные деревья. Повороты, вставка и удаление. АВЛ-деревья, вставка и удаление элемента. 6
5.1.9 Сортировка, порядковые статистики 6
Задача сортировки. Алгоритмы сортировки. Быстрая сортировка. Пирамидальная сортировка. Очереди с приоритетами. Временные оценки алгоритмов сортировки в худшем случае. Сортировка за линейное время. Сортировка подсчетом, карманная сортировка, поразрядная сортировка. Понятие медианы и порядковой статистики. Алгоритмы поиска. 6
5.1.10 Файлы, B-деревья 6
Хранение данных на внешних устройствах. Файлы и их типы. Организация файлов. Методы работы с файлами. B-деревья. Основные операции с B-деревьями. 6
5.1.11 Алгоритмы на графах 6
Графы: определения и примеры. Упорядоченный граф. Представления графов. Остовные деревья графа. Минимальное остовное дерево, алгоритмы поиска. Поиск в графе. Связность и сильная связность, алгоритмы поиска. Клики, поиск максимальной клики. Кратчайшие пути в графе, алгоритмы поиска. 6
5.1.12 Теория сложности алгоритмов 6
Рост функций, асимптотические оценки. Классы сложности. NP-трудные и NP-сложные задачи. Проблема равенства P и NP. 6
5.2 Разделы дисциплины и виды занятий 6
6. ПРАКТИЧЕСКИЕ ЗАНЯТИЯ И САМОСТОЯТЕЛЬНАЯ РАБОТА 7
6.1. Лабораторный практикум 7
6.2. Практические занятия 8
6.3. Перечень тем рефератов 8
6.4 Перечень тем домашних работ 8
6.5 Перечень тем контрольных работ 8
6.6 Перечень тем расчетных работ 9
6.7 Перечень тем расчетно-графических работ 9
6.8 Тематика коллоквиумов 9
7. Тематика курсового проектирования 9
8. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ 9
8.1 Рекомендуемая литература 9
8.1.1 Основная литература 9
8.1.2 Дополнительная литература 9
8.1.3 Методические разработки кафедры 9
8.2 Программное обеспечение 9
8.3 Базы данных, информационно-справочные и поисковые системы 9
9. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ 10
9.1 Общие требования 10
9.2 Сведения об оснащенности дисциплины специализированным и лабораторным оборудованием 10
10. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ 10
10.1 Рекомендации для преподавателя 10
10.2 Рекомендации для студента 10
10.3 Перечень контрольных вопросов для подготовки к итоговой аттестации по дисциплине 10
10.3 Перечень ключевых слов дисциплины 11