Для направления 231000.62 «Программная инженерия» · и в...

25
Негосударственное образовательное учреждение Высшего профессионального образования «Камский институт гуманитарных и инженерных технологий» Факультет инженерных технологий Кафедра «Автоматизированные системы проектирования и программное обеспечение» УТВЕРЖДАЮ Ректор НОУ ВПО «КИГИТ» ____________В.А.Никулин _________________ 2014 г. Решение УМС Протокол № 1от 12. 09.2014 г. УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС Дисциплины «Алгоритмы и структуры данных» Для направления 231000.62 «Программная инженерия» Профиль подготовки «Разработка программно-информационных систем» Степень выпускника: БАКАЛАВР Форма обучения: очная Ижевск – 2014

Upload: others

Post on 10-Jul-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

Негосударственное образовательное учреждение

Высшего профессионального образования«Камский институт гуманитарных и инженерных технологий»

Факультет инженерных технологийКафедра «Автоматизированные системы проектирования и программное обеспечение»

УТВЕРЖДАЮРектор НОУ ВПО «КИГИТ»____________В.А.Никулин_________________ 2014 г.Решение УМС

Протокол № 1от 12. 09.2014 г.

УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКСДисциплины «Алгоритмы и структуры данных»

Для направления 231000.62 «Программная инженерия»

Профиль подготовки«Разработка программно-информационных систем»

Степень выпускника: БАКАЛАВРФорма обучения: очная

Ижевск – 2014

Page 2: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

Рассмотрен и утверждён на заседании кафедры «Автоматизированные системыпроектирования и программное обеспечение»

Протокол № 1 от «_25_» __08__ 2014г.

Составитель: заведующий кафедрой, д.т.н., профессор- М.А.Сенилов

Рецензент: д.т.н., профессор кафедры ПО ИЖГТУ Мурынов А.И.

СОГЛАСОВАНОНачальник УМУ-Н.Г. Русинова

Учебно-методический комплекс по дисциплине «Алгоритмы и структуры данных»разработан в соответствии с требованиями Федерального государственногообразовательного стандарта высшего профессионального образования и основнойобразовательной программы по направлению подготовки 231000.62 «Программнаяинженерия» для профиля подготовки «Разработка программно-информационныхсистем».

Учебно-методический комплекс предназначен для преподавателей и студентов.

© Сенилов М.А., 2014© НОУ ВПО «Камский институт гуманитарных и инженерных технологий», 2014

Page 3: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

СОДЕРЖАНИЕ

РАБОЧАЯ ПРОГРАММА......................................................................................4

1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ.................................................................4

2. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП..............................................4

3. КОМПЕТЕНЦИИ ОБУЧАЮЩЕГОСЯ, ФОРМИРУЕМЫЕ В РЕЗУЛЬТАТЕ

ОСВОЕНИЯ ДИСЦИПЛИНЫ...............................................................................4

4. ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ.............................6

5. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ......................................................................7

5.1. СОДЕРЖАНИЕ РАЗДЕЛОВ ДИСЦИПЛИНЫ.............................................7

5.3. РАЗДЕЛЫ ДИСЦИПЛИНЫ И МЕЖДИСЦИПЛИНАРНЫЕ СВЯЗИ С ОБЕСПЕЧИВАЕМЫМИ (ПОСЛЕДУЮЩИМИ) ДИСЦИПЛИНАМИ 11

6. ЛАБОРАТОРНЫЙ ПРАКТИКУМ .................................................................12

7. ПРАКТИЧЕСКИЕ ЗАНЯТИЯ.........................................................................13

8. РЕКОМЕНДУЕМЫЕ ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ...................14

9. ПРОГРАММА САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТА..................15

УЧЕБНАЯ КАРТА................................................................................................23

. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ.......23

12. УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ

ДИСЦИПЛИНЫ....................................................................................................24

Page 4: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

РАБОЧАЯ ПРОГРАММА

1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ

Предметом курса являются структуры и модели данных, используемые припостроении информационной базы разрабатываемой задачи (программы), алгоритмы ихобработки, формы рациональной организации, представления и поиска данных в ЭВМ.

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

Задачами дисциплины являются:– ознакомление студентов с теорией структур данных, методами представления

данных на логическом (абстрактном) и физическом (машинном) уровнях;– овладение студентами эффективными алгоритмами обработки различных структур

данных;– сравнительный анализ и оценка эффективности выбранных алгоритмов при

решении конкретных задач;– формирование умений и навыков разработки алгоритмов решения задач со

сложной организацией данных.

2. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП

Дисциплина «Алгоритмы и структуры данных» относится к базовой частидисциплин профессионального цикла.

Изучение дисциплины базируется на знаниях, полученных при изучении дисциплин:«Основы программирования», «Теоретическая информатика», «Дискретная математика»,«Введение в специальность».

Освоение дисциплины необходимо для изучения следующих дисциплин: «Базыданных», «Проектирование и архитектура программных систем», «Объектно-ориентированное программирование», «Конструирование программного обеспечения»,«Архитектура систем баз данных».

3. КОМПЕТЕНЦИИ ОБУЧАЮЩЕГОСЯ, ФОРМИРУЕМЫЕ В РЕЗУЛЬТАТЕ

ОСВОЕНИЯ ДИСЦИПЛИНЫ

Процесс изучения дисциплины «Алгоритмы и структуры данных» направлен наформирование следующих профессиональных компетенций (ПК):

Page 5: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

- понимание основных концепций, принципов, теорий и фактов, связанных синформатикой (ПК-1);

- способность к формализации в своей предметной области с учетом ограниченийиспользуемых методов исследования (ПК-2);

- способность формализовать предметную область программного проекта иразработать спецификации для компонентов программного продукта (ПК-6);

- навыки моделирования, анализа и использования формальных методовконструирования программного обеспечения (ПК-12);

- способность оценивать временную и емкостную сложность программногообеспечения (ПК-13).

В результате изучения дисциплины студенты должны Знать:

• Разновидности структур данных, используемых на различных уровняхпредставления данных, определяемых этапами проектирования программы;

• Основные алгоритмы обработки структур данных: пополнение, удаление,модификация, поиск, сортировка (упорядочение);

• Языковые средства описания различных структур данных;Уметь:

• Проводить структурирование информационного пространства заданнойпредметной области;

• На основе анализа разрабатываемой задачи (программы) выбирать наиболеерациональные и экономичные структуры данных, обеспечивающие эффективнуюреализацию задачи (программы);

• Разрабатывать эффективные алгоритмы обработки данных и программировать ихна известных языках программирования.Владеть:

• Методологией проектирования программ со сложной организацией данных,начиная с разработки модели предметной области и кончая описанием алгоритмов иструктур данных средствами языка программирования.

Page 6: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

4. ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ

Общая трудоемкость дисциплины составляет 6 зачётных единиц - 216 часов.

Вид учебной работы Всегочасов

Семестры3 4

Аудиторные занятия (всего) 146 56 90

В том числе: - -Лекции 54 36 18Практические занятия (ПЗ) 38 10 28Лабораторные работы (ЛР) 16 8 8КСР 38 2 36Самостоятельная работа (всего) 70 16 54В том числе: - - -Курсовая работа 36 - 36Расчетно-графические работы - - -Реферат - - -Другие виды самостоятельной работыКоллоквиум

34 16 18

Вид промежуточной аттестации ( зачёт, экзамен)

- Зачет Экзамен

Общая трудоемкость 216/6 72/2 144/4

Page 7: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

5. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ

5.1. Содержание разделов дисциплины

1. Предмет и задачи курсаПредмет, цель и задачи курса. Значение курса для области информатики в целом.

Содержание и структура курса. Его связь с другими дисциплинами учебного плана, местои роль в подготовке инженеров-программистов. Основы методики самостоятельнойработы. Цели и характеристика курсовой работы. Краткая характеристика учебнойлитературы.

2. Общее представление о данных и их структурахПонятие “данные”. Структурирование данных. Понятие структуры данных. Роль и

место структуры данных в программе: программа=алгоритм+структура данных. Понятиелогической и физической структур (организации) данных.

Структурные элементы, используемые на логическом уровне описания данных: поле,запись (логическая), группа записей (агрегат данных), массив, файл. Структурныеэлементы, используемые на физическом уровне описания данных: разряд, слово,физическая запись, блок, экстент, набор данных (файл), том.

Понятие о статистических и динамических структурах данных. Оперативныеструктуры данных и структуры данных внешней памяти.

3. Взаимосвязь уровней представления данных с этапами проектированияпрограммы

Этапы проектирования программы и соответствующие им уровни представленияданных. Рекомендации по структурированию программы на основе учетаструктурирования данных.

4. Модель предметной областиПонятие предметной области. Модель предметной области (МПО). Схема МПО.

Основные термины МПО: объект, атрибут, тип объекта, экземпляр объекта, структурнаясвязь, тип структурной связи, экземпляр структурной связи, функциональная связь.

Этапы проектирования МПО. Обзор предметной области. Определение объектов иих атрибутов. Анализ и формализация процессов обработки информации. Установлениефункциональных связей и задание их характеристик. Установление структурных связей изадание их характеристик (отображение функциональных связей в структурные).Оптимизация и проверка корректности МПО. Примеры проектирования МПО.

5. Абстрактные структуры данныхАбстрактный тип данных: спецификация, представление, реализация. Определение

абстрактной структуры данных (АСД). Классификация АСД. Основные АСД и иххарактеристики.

Линейные структуры данных: стек, очередь, дек. Нелинейные структуры данных:иерархические списки, деревья и леса, бинарные деревья. Множество, последовательность(массив), матрица, отношение.

6. Описание МПО абстрактными структурами данныхРекомендации по предварительному преобразованию МПО. Алгоритм

предварительного преобразования структуры. Выбор абстрактной структуры данных.Декомпозиция структуры на более простые абстрактные структуры (формальныепреобразования АСД). Пример описания МПО абстрактными структурами данных.

7. Логические структуры данных

Page 8: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

Определение логической структуры данных (ЛСД). Классификация ЛСД. ОсновныеЛСД и их краткие характеристики: множество, список, матрица, дерево, прошитое дерево,упорядоченное дерево, граф (сеть), реляционная структура (табличная).

8. Линейные спискиПредставление последовательных структур, стека, очереди, дека линейными

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

Методы упорядочения (сортировки) последовательностей: метод пополнения, методупорядочения слиянием, метод шелла, метод пополнения с двоичным поиском.

Линейные списки с элементами типа линейный список (сложные списки).Аналитическое (скобочное) и графическое представление сложных списков. Рангсложного списка, уровень элемента, однородность сложного списка.

9. Древовидные (иерархические) структуры данныхОпределение древовидной структуры данных. Обход дерева в прямом (префиксном)

и в обратном (постфиксном) порядке. Уровень узла дерева. Степень дерева. Графическоеи скобочное представление дерева.

Бинарное (двоичное) дерево. Преобразование дерева произвольной степени вбинарное дерево. Симметричный (внутренний) порядок обхода узлов бинарного дерева.Упорядоченные бинарные деревья и алгоритмы их обработки. Поиск в упорядоченномбинарном дереве.

Задачи поиска и кодирования (сжатия) данных, кодовые деревья, оптимальныепрефиксные коды. Исчерпывающий поиск: перебор с возвратом, метод ветвей и границ,динамическое программирование.

10. Выбор логических структур данных для представления абстрактныхструктур данных

Рекомендации по выбору ЛСД. Примеры представления абстрактных структурданных логическими структурами данных.

11. Представление данных в модели памятиМодель памяти. Последовательная память. Связанная память. Выбор представления

логической структуры данных в модели памяти.12. Представление списковых структур в модели памяти

Понятие статистического и динамического списка. Представление линейного спискав последовательной памяти. Представление линейного списка в связанной памяти (цепнойсписок). Разновидности цепных списков: прямой, обратный, замкнутый (кольцевой),двунаправленный. Список с каталогом. Разновидности представления в памяти списка скаталогом: последовательно-индексно-последовательное, последовательно-индексно-связанное, связанно-индексно-связанное представления. Представление в памяти сложныхсписковых структур.

13. Представление деревьев в модели памятиСтандартное представление дерева в памяти ЭВМ. Инверсное представление дерева

в памяти. Расширенная стандартная форма представления дерева в памяти. Представлениебинарного дерева в памяти. Примеры представления деревьев в памяти.

14. Быстрый поискБинарный поиск, хеширование.15. Использование деревьев в задачах поискаБинарные деревья поиска, случайные, оптимальные, сбалансированные по высоте

(АВЛ) и рандомизированные деревья поиска.16. Задачи сортировкиВнутренняя и внешняя сортировки. Алгоритмы сортировки. Оптимальная

сортировка.

Page 9: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

17. Порядковые статистикиАнализ сложности и эффективности алгоритмов поиска и сортировки.18. ФайлыОрганизация и обработка файлов. Представление файлов b-деревьями.19. Алгоритмы на графахПредставления графов. Схемы поиска в глубину и ширину. Минимальное остовное

дерево. Кратчайшие пути.20. Теория сложности алгоритмовNP-сложные и труднорешаемые задачи.

Page 10: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

5.2. СОДЕРЖАНИЕ МОДУЛЕЙ ДИСЦИПЛИНЫ

№П/п

Наименование модулей

Все

го ч

ас./

Заче

тн. Е

д.

Виды учебной работы, включаясамостоятельную работу

студентов и трудоемкость (в часах)

Л ПЗ ЛЗ КСР СРС

Модуль 1

1 Предмет и задачи курса4 3 - - - 1

2 Общее представление о данных и ихструктурах 7 3 2 - - 2

3 Взаимосвязь уровней представленияданных с этапами проектированияпрограммы

4 3 - - - 14 Модель предметной области

7 3 2 - - 2Модуль 2

5 Абстрактные структуры данных4 3 - - - 1

6 Описание МПО абстрактнымиструктурами данных 5 3 - - - 2

7 Логические структуры данных4 3 - - - 1

8 Линейные списки11 3 2 4 - 2

Модуль 3

9 Древовидные (иерархические)структуры данных 4 3 - - - 1

10 Выбор логических структур данныхдля представления абстрактныхструктур данных 6 3 2 - - 1

11 Представления данных в моделипамяти 4 3 - - - 1

12 Представление списковых структур вмодели памяти 10 3 2 4 - 1Заче

2 2 -Модуль 4

13 Представление деревьев в моделипамяти 11 2 3 - 4 2

14 Быстрый поиск14 2 4 - 5 3

15 Использование деревьев в задачахпоиска 16 2 3 4 5 2

16 Задачи сортировки20 4 4 4

53

Page 11: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

Модуль 5

17 Порядковые статистики11 2 3 - 4 2

18 Файлы13 2 4 - 5 2

19 Алгоритмы на графах12 2 4 - 4 2

20 Теория сложности алгоритмов11 2 3 - 4 2

Экзамен

Модуль 6

Курсовая работа 36 - - - - 36 ИТОГО 216

/654/1,

538/1,0

516/0,4538/1,0570/1,95

5.3. РАЗДЕЛЫ ДИСЦИПЛИНЫ И МЕЖДИСЦИПЛИНАРНЫЕ СВЯЗИ С ОБЕСПЕЧИВАЕМЫМИ

(ПОСЛЕДУЮЩИМИ) ДИСЦИПЛИНАМИ

№п/п

Наименование обеспечи-ваемых (последующих)дисциплин

№№ тем данной дисциплины, необходимых для изу-чения обеспечиваемых (последующих) дисциплин

1 2 3 4 5 6 71 Базы данных

+ + +

2 Проектирование иархитектура программныхсистем

+ + +

3 Объектно-ориентированноепрограммирование

+

4 Конструированиепрограммногообеспечения

+ + + + + +

5 Архитектура систем базданных

+ ++ +

+

№п/п

Наименование обеспечи-ваемых (последующих)дисциплин

№№ тем данной дисциплины, необходимых дляизучения обеспечиваемых (последующих) дисцип-лин

8 9 10 11 12 13 141 Базы данных + + + +

Page 12: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

2 Проектирование иархитектура программныхсистем

+ + ++ +

+

3 Объектно-ориентированноепрограммирование

+ ++

+ + +

4 Конструированиепрограммного обеспечения + + +

+ ++ +

5 Архитектура систем базданных

№п/п

Наименование обеспечи-ваемых (последующих)дисциплин

№№ тем данной дисциплины, необходимых для изу-чения обеспечиваемых (последующих) дисциплин

15 16 17 18 19 201 Базы данных

+ + + + +

2 Проектирование иархитектура программныхсистем

++

+

3 Объектно-ориентированноепрограммирование

+ ++ +

+

4 Конструированиепрограммногообеспечения

+ ++ +

+

5 Архитектура систем базданных

6. ЛАБОРАТОРНЫЙ ПРАКТИКУМ

№п/п

№ разделадисциплины

Наименование лабораторных работТрудоем-

кость(час.)/ЗЕ

1 8 Программирование стеков и очередей 4/0,112 12 Линейные списки в массивах и динамической памяти 4/0,113 15 Программирование и обработка деревьев 4/0,114 16 Сортировка в последовательных структурах данных 4/0,11

ИТОГО 16/0,44

Page 13: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

7. ПРАКТИЧЕСКИЕ ЗАНЯТИЯ

№п/п

№ темыдисциплины

Тематика практических занятий (семинаров)Трудоем-

кость(час.)/ЗЕ

1 2 Структурные элементы, используемые на логическомуровне описания данных: поле, запись (логическая),группа записей (агрегат данных), массив, файл.Структурные элементы, используемые на физическомуровне описания данных: разряд, слово, физическаязапись, блок, экстент, набор данных (файл), том.

2

2 4 Модель предметной области (МПО). Схема МПО.Основные понятия: объект, атрибут, тип объекта,экземпляр объекта, структурная связь, типструктурной связи, экземпляр структурной связи,функциональная связь.

2

3 8 Методы поиска в последовательностях: методпоследовательного просмотра; метод дихотомии;метод, использующий числа Фибоначчи; метод,использующий матрицу двоичного поиска.

2

4 10 Представление абстрактных структур данныхлогическими структурами данных.

2

5 12 Представление линейного списка в последовательнойпамяти. Представление линейного списка в связаннойпамяти (цепной список). Разновидности цепныхсписков. Список с каталогом. Разновидностипредставления в памяти списка с каталогом.Линейные списки с элементами типа линейныйсписок (сложные списки). Представление в памятисложных списковых структур.

2

6 13 Стандартное представление дерева в памяти эвм.Инверсное представление дерева в памяти.Расширенная стандартная форма представлениядерева в памяти. Представление бинарного дерева впамяти.

3

7 14 Бинарный поиск, хеширование. 4

8 15 Бинарные деревья поиска, случайные, оптимальные,сбалансированные по высоте и рандомизированныедеревья поиска.

3

9 16 Внутренняя и внешняя сортировки. Алгоритмысортировки. Оптимальная сортировка.

4

10 17 Анализ сложности и эффективности алгоритмовпоиска и сортировки.

3

Page 14: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

11 18 Организация и обработка файлов. Представлениефайлов b-деревьями.

4

12 19 Представления графов. Схемы поиска в глубину иширину. Минимальное остовное дерево. Кратчайшиепути.

4

13 20 Теория сложности алгоритмов. Np-сложные и труднорешаемые задачи.

3

ИТОГО 38/1,05

8. РЕКОМЕНДУЕМЫЕ ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ

Для проработки и закрепления лекционного материала по дисциплине «Алгоритмыи структуры данных» применяются:

Семестр

Видзанятия(Л, ПЗ,

ЛЗ)

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

КоличествоЧасов/ЗЕ

3 Л Дискуссии 2/0,056

ПЗ Разбор конкретных ситуаций 2/0,056

ЛЗ Компьютерные симуляции 4/0,11

4 Л Дискуссии 2/0,056

ПЗ Разбор конкретных ситуаций 4/0,11

ЛЗ Компьютерные симуляции 4/0,11

ИТОГО 18/0,5

Page 15: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

9. ПРОГРАММА САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТА

Структура СРС

Кодформируемо

йкомпетенци

и

Тема Вид ФормаОтчетност

и

Объемучебно

йработ

ы(час.)

Учебно-методические

материалы

ПК-1 Общее представление оданных и их структурах.Понятие “данные”.Структурирование данных.Понятие структуры данных.Роль и место структурыданных в программе:программа=алгоритм+структура данных. Понятиелогической и физическойструктур (орга-низации)данных. Структурныеэлементы, используемые налогическом уровне описанияданных: поле, запись(логическая), группа записей(агрегат данных), массив,файл. Структурные элементы,используемые на физическомуровне описания данных:разряд, слово, физическаязапись, блок, экстент, наборданных (файл), том. Понятиео статистических идинамических структурахданных. Опера-тивныеструктуры данных иструктуры данных внешнейпамяти.

Подготовка к

коллоквиуму

Ответы 1 Основная идополнительная

литература

ПК-1 Взаимосвязь уровней предс-тавления данных с этапамипроектирования программы.Этапы проектирования прог-раммы и соответствующиеим уровни представленияданных. Рекомендации пострук-турированиюпрограммы на основе учетаструктурирования данных.

Подготовка к

коллоквиуму

Ответы 2 Основная идополнительная

литература

ПК-2 Модель предметной области.Понятие предметной области.

Подготовкак

Ответы 1 Основная идополнительная

Page 16: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

Модель предметной области(МПО). Схема МПО.Основные термины МПО:объект, атрибут, тип объекта,экземпляр объекта,структурная связь, типструктурной связи, экземплярструктурной связи, функ-циональная связь.

коллоквиуму

литература

ПК-6,ПК-12

Этапы проектирования МПО.Обзор предметной области.Определение объектов и ихатрибутов. Анализ и фор-мализация процессовобработки информации.Установление функ-циональных связей и заданиеих характеристик.Установление структурныхсвязей и задание иххарактеристик (отображениефункциональных связей вструктурные). Оптимизация ипроверка корректности МПО.Примеры проектированияМПО

Решениезадач

Текстызадач

2 Основная идополнительная

литература,Методические

указания кпрактическим

занятиям

ПК-1,ПК-6,ПК-12

Абстрактный тип данных:спецификация, представление,реализация. Определение абст-рактной структуры данных(АСД). Классификация АСД.Основные АСД и иххарактеристики.

Линейные структурыданных: стек, очередь, дек.Нелинейные структурыдан-ных: иерархическиесписки, деревья и леса,бинарные деревья.Множество, после-довательность (массив), мат-рица, отношение.

Подготовка к

коллоквиуму

Ответы 1 Основная идополнительная

литература

Page 17: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

ПК-6,ПК-12

Рекомендации по пред-варительномупреобразованию мпо.Алгоритм предва-рительногопреобразования структуры.Выбор абстрактнойструктуры данных. Деком-позиция структуры на болеепростые абстрактныеструктуры (формальныепреобразования асд). Примерописания мпо абстрактнымиструктурами данных.

Подготовка к

коллоквиуму

Ответы 2 Основная идополнительная

литература

ПК-6,ПК-12

Логические структурыданных. Определениелогической структурыданных (ЛСД).Классификация ЛСД.Основные ЛСД и их краткиехарак-теристики: множество,список, матрица, дерево,прошитое дерево,упорядоченное дерево, граф(сеть), реляционная структура(табличная).

Подготовкак

коллоквиуму

Ответы 1 Основная идополнительная

литература

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

Решениезадач

Текстызадач

2 Основная идополнительная

литература,методические

указания кпрактическим

занятиям

Page 18: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

сложных спис-ков. Рангсложного списка, уровеньэлемента, однородностьсложного списка.

ПК-12 Древовидные(иерархические) структурыданных. Определениедревовидной структурыданных. Обход дерева впрямом (префиксном) и вобратном (постфиксном)порядке. Уро-вень узладерева. Степень дерева.Графическое и скобочноепредставление де-рева.Бинарное (двоичное) дерево.Преобразование деревапроиз-вольной степени вбинарное дерево.Симметричный (внут-ренний) порядок обходаузлов бинарного дерева.Упоря-доченные бинарныедеревья и алгоритмы ихобработки. Поиск вупорядоченном бинарномдереве.Задачи поиска и кодирования(сжатия) данных, кодовыедеревья, оптимальныепрефикс-ные коды.Исчерпывающий поиск:перебор с возвратом, методветвей и границ,динамическое программ-мирование.

Подготовкак

коллоквиуму

Ответы 1 Основная идополнительная

литература

ПК-12 Выбор логических структурданных для представленияабстрактных структурданных. Рекомендации повыбору ЛСД. Примерыпредс-тавления абстрактныхструктур данныхлогическими структурамиданных

Подготовкак

коллоквиуму

Ответы 1 Основная идополнительная

литература

Page 19: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

ПК-12 Представление данных вмодели памяти. Модельпамяти. После-довательнаяпамять. Связанная память.Выбор представлениялогической структурыданных в модели памяти.

Подготовкак

коллоквиуму

Ответы 1 Основная идополнительная

литература

ПК-12 Представление списковыхструк-тур в модели памяти.Понятие статистического идинамического списка.Предс-тавление линейногосписка в последовательнойпамяти. Представлениелинейного списка всвязанной памяти (цепнойсписок). Разновидностицепных списков: прямой,обратный, замкнутый (коль-цевой), двунаправленный.Список с каталогом. Разно-видности представления впамяти списка с каталогом:последовательно-индексно-пос-ледовательное,последователь-но-индексно-связанное, связанно-индексно-связанноепредставления.Представление в памятисложных списковыхструктур.

Подготовкак зачету

Зачетнаяведомость

1 Основная идополнительная

литература

ПК-12 Представление деревьев вмодели памяти. Стандартноепредста-вление дерева впамяти ЭВМ. Инверсноепредставление дерева впамяти. Расширеннаястандартная формапредставления дерева впамяти. Представлениебинарного дерева в памяти.Примеры представлениядеревьев в памяти.

Подготовкак

коллоквиуму

Ответы 2 Основная идополнительная

литература

Page 20: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

ПК-1,ПК-12

Бинарный поиск,хеширование.

Решениезадач

Текстызадач

3 Основная идополнительная

литература,методические

указания кпрактическим

занятиямПК-1,ПК-12

Использование деревьев взадачах поиска. Бинарныедеревья поиска, случайные,оптимальные, сбалан-сированные по высоте (АВЛ)и рандомизированныедеревья поиска.

Подготовкак

коллоквиуму

Ответы 2 Основная идополнительная

литература

ПК-1,ПК-12

Задачи сортировки.Внутренняя и внешняя сорти-ровки. Алгоритмысортировки. Оптимальнаясортировка.

Решениезадач

Текстызадач

3 Основная идополнительная

литература,методические

указания кпрактическим

занятиямПК-13 Анализ сложности и

эффективности алгоритмовпоиска и сортировки.

Подготовкак

коллоквиуму

Ответы 2 Основная идополнительная

литература

ПК-1,ПК-12

Организация и обработкафайлов. Представлениефайлов b-деревьями

Подготовкак

коллоквиуму

Ответы 2 Основная идополнительная

литература

ПК-1,ПК-12

Алгоритмы на графах.Представления графов.Схемы поиска в глубину иширину. Минимальноеостовное дерево. Кратчайшиепути.

Решениезадач

Текстызадач

2 Основная идополнительная

литература,методические

указания кпрактическим

занятиямПК-13 Теория сложности

алгоритмов. Np-сложные итруднорешаемые задачи.

Подготовкак экзамену

Экзамена-

ЦионнаяВедомост

ь

2 Основная идополнительная

литература

Page 21: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

ПК-1,ПК-2,ПК-6,ПК-12,ПК-13

Курсовая работа Выполнение курсовой

Работы

Поясни-тельнаязаписка

Ккурсовой

работе

36 Основная идополнительная

литература,Методические

указания ккурсовой работе

ИТОГО 70

Page 22: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

ГРАФИК СРС

3 семестр

Недели

ФормаОтчетности

1-2 3-4 5-6 7-8 9-10 11-12 13-14 15-16 17

Устная,Письменная

ВК К РЗ К К РЗ К К ПЗ

4 семестр

Недели

ФормаОтчетности

1-2 3-4 5-6 7-8 9-10 11-12 13-14 15-16 17-18

Устная,Письменная

ККР

РЗКР

ККР

РЗКР

РЗКР

ККР

ККР

РЗКР

ПЭКР

ВК - входной контрольК – коллоквиумРЗ – решение задачПЗ – подготовка к зачету ПЭ – подготовка к экзамену

КР – курсовая работа

Page 23: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

УЧЕБНАЯ КАРТА

Самостоятельной работы студента_____________________________

________2___курса ____________гр. _________очной формы обучения

Дисциплина «Алгоритмы и структуры данных»

Преподаватель__________________________________________________

МодульВид самостоятельной

работыСеместр Недели Форма

отчетностиФактические

срокивыполнения

1 Подготовка к коллоквиуму

3 2-5 Ответы навопросы

1 Решение задач 3 6 Тексты задач

2 Подготовка к коллоквиуму

3 7-10 Ответы навопросы

2 Решение задач 3 11-12 Тексты задач3 Подготовка к

коллоквиуму 3 13-16 Ответы на

вопросы3 Подготовка к зачету 3 17 Зачетная

ведомость

4 Подготовка к коллоквиуму

4 1-25-6

Ответы навопросы

4 Решение задач 4 3-47-10

Тексты задач

5 Подготовка к коллоквиуму

4 11-14 Ответы навопросы

5 Решение задач 4 15-16 Тексты задач

5 Подготовка к экзамену

4 17-18 Экзаменационнаяведомость

6 Курсовая работа 4 1-18 Пояснительнаязаписка к

курсовой работе

Подпись преподавателя: дата

Подпись студента: дата Сумма баллов по СРС, включаемая в итоговую оценку по дисциплине:

. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ

Лекционные занятия- комплект электронных презентаций/слайдов; - аудитория, оснащенная презентационной техникой (проектор, экран, компьютер/

ноутбук).

Page 24: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева

Практические занятия- презентационная техника (проектор, экран, компьютер/ноутбук);- интерактивная доска.

Лабораторные занятия- компьютерный класс, включающий 12 персональных компьютеров с выходом в

Интернет.

12. УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ

ДИСЦИПЛИНЫ

А) основная литература

1. Вирт Н. Алгоритмы и структуры данных. – М.: ДМК Пресс, 2012. – 272 с.2. Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы: учеб.

Пособие. - М.: Издательский дом «Вильямс», 2008. – 369 с.

Б) дополнительная литература

1. Сенилов М.А. Методические указания для самостоятельной работы студентов подисциплине «Структуры и алгоритмы обработки данных в ЭВМ». – Ижевск: Изд-воижгту, 2008.

2. Гагарина Л.Г., Колдаев В.Д. Алгоритмы и структуры данных: учеб. Пособие. – М.:Финансы и статистика; ИРФРА-М, 2009. – 304 с.

3. Кнут Д. Искусство программирования для ЭВМ. Том 1.: Основные алгоритмы. -М.: Издательский дом «Вильямс», 2008. – 690 с.

4. Кнут Д. Искусство программирования для ЭВМ. Том 3.: Сортировка и поиск. - М.:Издательский дом «Вильямс», 2008. – 720 с.

5. Бабенко М.А., Левин М.В. Введение в теорию алгоритмов и структур данных. – М.:ФМОП, МЦНМО, 2012. – 144 с.

6. Круз Р.Л. Структуры данных и проектирование программ. – М.: БИНОМ.Лаборатория знаний, 2012. – 765 с.

7. Окулов С.М. Абстрактные типы данных. – М.: БИНОМ. Лаборатория знаний, 2013.– 250 с.

В) программное обеспечение и Интернет-ресурсы:

.NET framework, Visual Studio.

HTTP://WWW.ALGORITMY.INFO/

HTTP://ALGOLIST.MANUAL.RU/

HTTP://WWW.REALCODING.NET/

Page 25: Для направления 231000.62 «Программная инженерия» · и в обратном (постфиксном) порядке. Уровень узла дерева