тема 2. линейные структуры данных: стек, очередь, дек

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОБРАЗОВАТЕЛЬНАЯ ОРГАНИЗАЦИЯ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
« ИНДУСТРИАЛЬНЫЙ ИНСТИТУТ »
Кафедра информационных систем и программирования
РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ
Cтруктура и алгоритмы обработки данных
УТВЕРЖДАЮ:
Проректор по научно – методической
работе__________________М.В.Кузнецова
(подпись, расшифровка подписи)
«_29_»__августа___2013 г.
РАССМОТРЕНО:
на заседании кафедры информационных
систем
и
программирования
Заведующий кафедрой информационных
систем
и
программирования
_______________________ И.В.Вольчик
(подпись, расшифровка подписи)
протокол №__1__от «_29__»августа
2013г.
Специальности: 230105.65 «Программное обеспечение вычислительной техники и автоматизированных систем»
Форма обучения Очно – заочная
Курск – 2013
2
Рабочая учебная программа по дисциплине «Структура и алгоритмы обработки
данных» разработана в соответствии с Государственным образовательным стандартом
высшего профессионального образования и учебным планом по специальности , рекомендациями и ПрООП ВПО Направление подготовки дипломированного специалиста
230105.65 «Программное обеспечение вычислительной техники и автоматизированных
систем». Рабочая программа утверждена на заседании информационных систем и программирования протокол № 1 от «30 августа » 2011 г.
Заведующий кафедрой информационных
систем и программирования
_________________
2
И.В.Вольчик
3
СОДЕРЖАНИЕ
ЦЕЛЬ И ЗАДАЧИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ………………………………………
4
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ………………………………………………………
5
УЧЕБНО - МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ КУРСА……………………………..
11
ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ ПРОГРАММЫ И ФОРМЫ ТЕКУЩЕГО,
ПРОМЕЖУТОЧНОГО И ИТОГОВОГО КОНТРОЛЯ…………………………………
12
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ (МАТЕРИАЛЫ) ПРЕПОДАВАТЕЛЮ……
14
МЕТОДИЧЕСКИЕ УКАЗАНИЯ СТУДЕНТАМ………………………………………..
16
РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ……………………………………………………………………………
3
17
4
ЦЕЛЬ И ЗАДАЧИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ
Цель дисциплины - изучение применяемых в программировании (и информатике) структур
данных, их спецификации и реализации, алгоритмов обработки данных и анализ этих алгоритмов, взаимосвязь алгоритмов и структур данных.
Задачи курса являются:
- изучение способов хранения и представления структур: массивов, стеков, очередей,
списков, деревьев, таблиц, файлов, графов;
- разработка алгоритмов обработки структур данных;
- обучение реализации алгоритмов в виде функций;
- изучение способов внутренней и внешней сортировки.
Место дисциплины в профессиональной подготовке выпускников
Курс «Cтруктура и алгоритмы обработки данных» относится к циклу специальных дисциплин федерального компонента ГОС ВПО специальности 230105.65 «Программное обеспечение вычислительной техники и автоматизированных систем», основывается на ранее
изученных дисциплинах Учебного плана «Информатика», «Программирование на языке
высокого уровня», «Математическая логика и теория алгоритмов».
Требования к уровню освоения содержания курса
В ходе изучения курса «Cтруктура и алгоритмы обработки данных» студенты должны:
а) знать:
- основные методы разработки машинных алгоритмов и программ, структуры данных, используемые для представления типовых информационных объектов, основные задачи анализа алгоритмов;
- основные машинные алгоритмы и характеристики их сложности для типовых задач, часто встречающихся и ставших «классическими» в области информатики и программирования;
- классификацию алгоритмических задач по их сложности, сводимости алгоритмических задач к известным задачам определенного класса сложности.
б) уметь:
- разрабатывать алгоритмы, используя изложенные в курсе общие схемы, методы и
приемы построения алгоритмов, выбирая подходящие структуры данных для представления информационных объектов;
- доказывать корректность составленного алгоритма и оценивать основные характеристики его сложности;
- реализовывать алгоритмы и используемые структуры данных средствами языков
программирования высокого уровня (например, на Турбо Паскале);
- экспериментально (с помощью компьютера) исследовать эффективность алгоритма
и программы.
Выписка из стандарта
СД.01
Абстрактный тип данных: спецификация, представление, реализация; линейные структуры данных: стек, очередь, дек; нелинейные структуры данных:
иерархические списки, деревья и леса, бинарные деревья; обходы деревьев;
задачи поиска и кодирования (сжатия) данных, кодовые деревья, оптимальные префиксные коды; исчерпывающий поиск; перебор с возвратом, метод
ветвей и границ, динамическое программирование; быстрый поиск; бинарный поиск, хеширование; использование деревьев в задачах поиска; бинар4
5
ные деревья поиска, случайные, оптимальные, сбалансированные по высоте
(АВЛ) и рандомизированные деревья поиска; задачи сортировки; внутренняя
и внешняя сортировки; алгоритмы сортировки; оптимальная сортировка; порядковые статистики; анализ сложности и эффективности алгоритмов поиска
и сортировки; файлы: организация и обработка, представление деревьями; Вдеревья; алгоритмы на графах; представления графов, схемы поиска в глубину и ширину, минимальное остовное дерево, кратчайшие пути; теория сложности алгоритмов; NP-сложные и труднорешаемые задачи.
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Тема 1. Абстрактный тип данных: спецификация, представление, реализация
Классы. Абстрактные типы данных и скрытие информации. Конструирование объектноориентированного ПО. Соотношение классов и записей.
Тема 2. Линейные структуры данных: стек, очередь, дек
Структуры данных и алгоритмы. Стек, очередь и дек как линейные списки с ограниченными наборами операций.
Стек, очередь и дек как абстрактные типы данных: функциональные спецификации и аксиомы. Представление и реализация (непрерывная, ссылочная в связанной памяти и на
базе вектора).
Тема 3. Нелинейные структуры данных: иерархические списки, деревья и леса, бинарные деревья, обходы деревьев
Рекурсивное определение и функциональная спецификация линейных списков.
Рекурсивное определение и функциональная спецификация иерархических (нелинейных)
списков и S-выражений. Точечная форма записи S-выражений. Представление Sвыражений и реализация базовых функции на языках высокого уровня.
Элементы функционального программирования и рекурсивная обработка S-выражений.
Примеры использования нелинейных списков: дифференцирование символических выражений, действия с полиномами многих переменных.
Определение дерева, леса, бинарного дерева. Графическое и текстовое (скобочное) представление леса.
Спецификация дерева, леса, бинарного дерева: базовые функции и аксиомы. Естественное
соответствие бинарного дерева и леса.
Обходы бинарных деревьев: рекурсивные и не рекурсивные алгоритмы.
Представления и реализации бинарных деревьев: ссылочная реализация в связанной памяти,
ссылочная реализация ограниченного бинарного дерева на базе вектора.
Прошитые бинарные деревья: представление, обход, включение. Использование бинарных деревьев в задаче упаковки сообщении.
Тема 4. Исчерпывающий поиск: перебор с возвратом, метод ветвей и границ, динамическое
программирование, быстрый поиск: бинарный поиск, хеширование.
Поиск с возвратом. Общий алгоритм. Оценка сложности выполнения. Метод ветвей и границ. Общая схема.
Динамическое программирование. Поиск и другие операции над таблицами.
Последовательный и бинарный поиск. Метод поиска с использованием функции расстановки (хеширование).
Тема 5. Использование деревьев в задачах поиска: бинарные деревья поиска, случайные, оптимальные, сбалансированные по высоте (АВЛ) и рандомизированные деревья
поиска
Бинарные деревья поиска.
5
6
Случайные бинарные деревья поиска. Подсчет числа структур различных бинарных деревьев с заданным числом узлов. Среднее время поиска в случайных деревьях.
Рандомизированные бинарные деревья поиска. Оптимальные бинарные деревья поиска. Алгоритм построения оптимального дерева. Хорошие бинарные деревья поиска. Сбалансированные
по высоте бинарные деревья (АВЛ-деревья). Включение в АВЛ-дерево. Исключение из АВЛдерева.
2-3-деревья. В-деревья. Разрешение коллизий: метод внутренних и внешних цепочек, метод
открытой адресации. Коэффициент загрузки, оценки сложности. Выбор функции расстановки.
Рандомизированные деревья поиска
Тема 6. Задачи сортировки, внутренняя и внешняя сортировки, алгоритмы сортировки, оптимальная сортировка
Задача внешней и внутренней сортировки. Сортировка вставками, обменами, выбором.
Быстрая сортировка Хоара. Процедура разделения. Рекурсивный и не рекурсивный алгоритмы
сортировки. Анализ сложности.
Сравнение алгоритмов и программ внутренней сортировки. Нижняя граница сложности
задачи сортировки. Оптимальная сортировка.
Внешняя сортировка. Простое слияние. Естественное слияние.
Тема 7. Порядковые статистики, анализ сложности и эффективности алгоритмов
поиска и сортировки
Оценка сложности алгоритмов. Оценка порядка. Определение сложности. Сложность рекурсивных алгоритмов: простая рекурсия, многократная рекурсия, объёмная сложность
рекурсивных алгоритмов. Общие функции оценки сложности.
Тема 8. Файлы: организация и обработка, представление деревьями: В-деревья.
Общие сведения. Последовательные файлы. Библиотечные файлы. Файлы прямого доступа. Индексно-последовательные файлы. Файлы VSAM. Файлы NTFS.
Тема 9. Алгоритмы на графах: представление графов, схемы поиска в глубину и ширину, минимальное остовое дерево, кратчайшие пути.
Определение графов. Упорядоченный граф. Представления графов. Остовные деревья
графа. Минимальное остовное дерево. Теорема "о минимально ребре". Жадный алгоритм.
Алгоритм «ближайшего соседа».
Поиск в графе. Поиск в ширину. Поиск в глубину. Связные компоненты. Алгоритм сложности построения минимального остова.
Построение и свойства остовных деревьев при поиске в глубину и в ширину. Поиск глубину и топологическая сортировка. Клики. Алгоритм порождения клик графа.
Кратчайшие пути в графе. Кратчайшие пути от фиксированной вершины. Случай неотрицательных весов. Кратчайшие пути в бесконтурном графе. Кратчайшие пути между всеми
парами вершин.
Матрица смежности, матрица достижимости. Вычисления расстояний между всеми парами
вершин, одновременное построение путей.
Тема 10. NP-сложные и труднорешаемые задачи
Массовая и индивидуальная задачи. Сложность алгоритма и кодирование входных выходных данных. Полиномиальная преобразуемость задач. NP-трудные и NP-полные задачи.
Задача выполнимости булева выражения, представленного в конъюнктивной нормальной
фору Доказательство NP -полноты задачи о выполнимости.
Задача о многопроцессорном расписании (МПР). Преобразуемость задачи о клике задачу о
МПР.
6
7
Объем дисциплины и виды учебной работы.
Специальность 230105.65 «Программное обеспечение вычислительной техники и
автоматизированных систем»
Очно-заочная форма обучения
Организационные формы обучения и виды учебной работы Всего часов
Общая трудоемкость дисциплины
Аудиторные занятия
Лекции
Практические занятия/лабораторные
Самостоятельная работа
Курсовая работа
Форма итогового контроля
210
80
32
48
130
экзамен
7
8
ТЕМАТИЧЕСКИЙ ПЛАН
по специальности 230105.65 «Программное обеспечение вычислительной техники и
автоматизированных систем»
(очно-заочная форма обучения)
№
Наименование тем
Всего
Аудиторные
п\п
часов всего лекции лабораторные практические
1 Абстрактный тип данных:
16
4
4
спецификация, представление, реализация
2 Линейные структуры дан- 24
10
2
8
ных: стек, очередь, дек
3 Нелинейные
структуры
25
12
4
данных:
иерархические
списки, деревья и леса,
бинарные деревья, обходы
деревьев
4 Исчерпывающий поиск: пе29
16
4
12
ребор с возвратом, метод ветвей и границ, динамическое
программирование, быстрый
поиск: бинарный поиск,
хеширование
5 Использование деревьев в
17
4
4
8
задачах поиска: бинарные
деревья поиска, случайные,
оптимальные, сбалансированные по высоте (АВЛ) и
рандомизированные деревья поиска
6 Задачи сортировки, внут27
14
2
12
ренняя и внешняя сортировки, алгоритмы сортировки, оптимальная сортировка
7 Порядковые статистики,
17
4
4
анализ сложности и эффективности алгоритмов
поиска и сортировки
8 Файлы: организация и об15
2
2
работка,
представление
деревьями: В-деревья
9 Алгоритмы на графах:
25
12
4
8
представление
графов,
схемы поиска в глубину и
ширину,
минимальное
остовое дерево, кратчайшие пути
10 NP-сложные и трудноре15
2
2
шаемые задачи
8
СРС
12
14
13
13
13
13
13
13
13
13
9
Всего за семестр
Итого за дисциплину
210
210
80
80
32
32
48
48
ПЛАНЫ ЛАБОРАТОРНЫХ ЗАНЯТИЙ
ТЕМА 2. ЛИНЕЙНЫЕ СТРУКТУРЫ ДАННЫХ: СТЕК, ОЧЕРЕДЬ, ДЕК
Лабораторная работа №1 Стеки, очереди, деки (8 часов)
Цель работы:
- изучить структуры данных стек, очередь и дек;
- познакомиться с польской записью арифметических выражений.
Контрольные вопросы
1. Что такое стек? Как он организуется и для чего используется?
2. Что такое очередь? Как она организуется и для чего используется?
3. Что такое дек? Как он организуется и для чего используется?
4. Что такое инфиксная запись операций? Что такое постфиксная запись?
5. Докажите, что после окончания работы алгоритма из раздела 2.2.2. в стеке
останется только одно значение и что оно будет значением выражения.
6. Покажите процесс преобразования арифметической записи 1+2/(3*(4+5)-6) в
польскую, составив таблицу.
ТЕМА 6. ЗАДАЧИ СОРТИРОВКИ, ВНУТРЕННЯЯ И ВНЕШНЯЯ СОРТИРОВКИ,
АЛГОРИТМЫ СОРТИРОВКИ, ОПТИМАЛЬНАЯ СОРТИРОВКА
Лабораторная работа №2 Внутренняя сортировка (6 часов)
Цель работы
 Изучить различные методы внутренней сортировки;
 Научиться проводить сравнительный анализ методов друг с другом и выбирать
наиболее подходящий для конкретных целей алгоритм сортировки.
Контрольные вопросы
7.
8.
9.
10.
11.
12.
Что такое сортировка? Чем отличаются внешняя и внутренняя сортировка?
Какие достоинства и недостатки сортировки включением?
Какие достоинства и недостатки сортировки извлечением?
Какие достоинства и недостатки сортировки подсчетом?
Какие достоинства и недостатки сортировки обменом?
Доказать, что сортировка распределением действительно сортирует массив.
ТЕМА 6. ЗАДАЧИ СОРТИРОВКИ, ВНУТРЕННЯЯ И ВНЕШНЯЯ СОРТИРОВКИ,
АЛГОРИТМЫ СОРТИРОВКИ, ОПТИМАЛЬНАЯ СОРТИРОВКА
Лабораторная работа №3 Внешняя сортировка (6 часов)
Цель работы:
- изучить различные методы внешней сортировки;
- научиться проводить сравнительный анализ методов друг с другом и выбирать
наиболее подходящий для конкретных целей алгоритм сортировки.
9
130
130
10
Контрольные вопросы
1. Что такое внешняя сортировка?
2. В каких случаях данные на внешних носителях можно сортировать с помощью внутренней сортировки.
3. Объясните алгоритм работы сортировки прямым слиянием.
4. Объясните алгоритм работы сортировки естественным слиянием.
5. Объясните алгоритм работы сортировки сбалансированным многопутевым
слиянием.
6. Объясните алгоритм работы многофазной сортировки.
7. Какие приемы позволяют повысить скорость внешней сортировки?
ТЕМА 4. ИСЧЕРПЫВАЮЩИЙ ПОИСК: ПЕРЕБОР С ВОЗВРАТОМ, МЕТОД ВЕТВЕЙ И
ГРАНИЦ, ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ, БЫСТРЫЙ ПОИСК: БИНАРНЫЙ ПОИСК, ХЕШИРОВАНИЕ
Лабораторная работа №4 Методы поиска (12 часов)
Цель работы:
Изучить различные методы поиска.
Контрольные вопросы
1. Почему при хранении в списке невозможно воспользоваться дихотомическим
и интерполяционным поиском?
2. Почему операция удаления при хранении множества в списке в среднем в 2
раза медленнее, чем при хранении в неотсортированном массиве?
3. Почему последний из разобранных методов поиска называется интерполяционным?
ТЕМА 5. ИСПОЛЬЗОВАНИЕ ДЕРЕВЬЕВ В ЗАДАЧАХ ПОИСКА: БИНАРНЫЕ ДЕРЕВЬЯ ПОИСКА, СЛУЧАЙНЫЕ, ОПТИМАЛЬНЫЕ, СБАЛАНСИРОВАННЫЕ ПО
ВЫСОТЕ (АВЛ) И РАНДОМИЗИРОВАННЫЕ ДЕРЕВЬЯ ПОИСКА
Лабораторная работа №5 Сбалансированные деревья
(8 часов)
Цель работы:
Освоить способ построения и обработки двоичных сбалансированных деревьев в
памяти ЭВМ.
Контрольные вопросы
1. Что такое дерево, двоичное дерево, поддерево?
2. Приведите рекурсивное определение дерева, определение упорядоченного дерева.
3. Приведите два способа хранения деревьев в памяти ЭВМ, укажите их недостатки и достоинства.
4. Как надо изменить процедуру Add, чтобы она корректно работала в случае, если вершина в дереве уже есть? Пояснение: в этом случае значение в дерево заносить не
надо.
5. Чем алгоритм удаления из упорядоченного дерева сложнее алгоритма добавления?
10
11
6. Приведите определение идеально сбалансированного дерева и дерева сбалансированного по АВЛ.
7. Что такое вращения и для чего они применяются? Перечислите используемые в
этой работе вращения.
8. Что такое коэффициент сбалансированности и почему его следует хранить для
каждой вершины дерева?
9. Перечислите три основных этапа алгоритма добавления в сбалансированное
дерево.
Перечислите три основных этапа алгоритма удаления из сбалансированного дерева.
ТЕМА 9. АЛГОРИТМЫ НА ГРАФАХ: ПРЕДСТАВЛЕНИЕ ГРАФОВ, СХЕМЫ ПОИСКА В ГЛУБИНУ И ШИРИНУ, МИНИМАЛЬНОЕ ОСТОВОЕ ДЕРЕВО,
КРАТЧАЙШИЕ ПУТИ
Лабораторная работа №6 Алгоритмы на графах (8 часов)
Цель работы:
Освоить:
- различные способы представления графа в памяти компьютера;
- методы поиска в графе (поиск в глубину и поиск в ширину);
- переборные алгоритмы, основанные на методах поиска в графе.
Контрольные вопросы
1. Что такое граф? Что такое ребро и дуга графа?
2. Что такое ориентированный граф и неориентированный граф?
3. Какие вершины называют смежными? Какие ребра называют смежными?
Что означает слово инцидентные?
4. Что такое вес вершины, вес ребра? Привести примеры из реальных задач.
5. В чем разница между алгоритмами поиска в ширину и поиска в глубину?
6. Назовите два основных этапа волнового алгоритма. Что происходит на каждом из этапов?
11
12
УЧЕБНО – МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ КУРСА
ОСНОВНАЯ ЛИТЕРАТУРА
1. Сундукова Т.О. Структуры и алгоритмы компьютерной обработки данных
[Электронный ресурс]/ Сундукова Т.О., Ваныкина Г.В.— Электрон. текстовые данные.—
М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2011.— 475 c.—
Режим доступа: http://www.iprbookshop.ru/16736.— ЭБС «IPRbooks», по паролю
2. Комлева Н.В. Структуры и алгоритмы компьютерной обработки данных [Электронный ресурс]: учебное пособие/ Комлева Н.В.— Электрон. текстовые данные.— М.:
Евразийский открытый институт, Московский государственный университет экономики,
статистики и информатики, 2004.— 140 c.
3. 3. Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на
языке Си. М.: Финансы и статистика, 2010
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
1. Вендров, А.М. Проектирование программного обеспечения. М.: Финансы и
статистика, 2000.
2. Соколов, А.П. Системы программирования: теория, методы, алгоритмы: уч.
пос. - М.: Финансы и статистика, 2004. - 320 с.
3. Фридман А. Основы объектно-ориентированной разработки программных
систем. М.: Финансы и статистика, 2000
4. Алескеров Ф.Т. Хабина Э.Л Шварц Д.А. Бинарные отношения, графы и коллективные решения - Москва Издательский дом ГУ ВШЭ 2006г
5.
Вирт Н. Алгоритмы и структуры данных
6.
Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от
простых до олимпиадных задач
7. Кнут, Д.Э. Искусство программирования том 1. Основные алгоритмы. М: Издательство Вильямс. 2001. - 720 с.
8. Кнут, Д.Э. Искусство программирования том 3. Сортировка и поиск. М: Издательство Вильямс, 2001. - 832 с.
9. Кормен Томас Х., Лейзерсон Чарльз И., Ривест Рональд Л.,Штайн Клиффорд
Алгоритмы: построение и анализ, 2-е издание
10. Кубенский А.А. Структуры и алгоритмы обработки данных. Объектноориентированный подход и реализация C++ +СД - СПб 2004г
11. Окулов СМ. Программирование в алгоритмах изд 2 - Москва БИНОМ Лаборатория знаний 2006г
ПЕРИОДИЧЕСКИЕ ИЗДАНИЯ:
1. Мир ПК.
2. Программирование.
3. Программные продукты и системы.
4. Стандарты и качество.



ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ ДИСЦИПЛИНЫ И ИСПОЛЬЗУЕМЫЕ
ФОРМЫ ТЕКУЩЕГО, ПРОМЕЖУТОЧНОГО И ИТОГОВОГО КОНТРОЛЯ
Требования к уровню освоения дисциплины
Используемые формы контроля
В конце 10 семестра – экзамен.
Текущий и промежуточный контроль:
Текущий контроль успеваемости студентов осуществляется методом опроса, по
результатам выполнения и защиты лабораторных работ, участия в дискуссиях, выполнения тестовых заданий.
12
13
Допуском к промежуточному контролю является наличие всех защищенных лабораторных работ.
Промежуточный контроль знаний осуществляется в форме экзамена. Экзамен
проводится в установленное расписанием время. Во время проведения экзамена в аудитории одновременно присутствует не более 5 студентов. На подготовку к ответу дается не
более 30 минут. Далее – один студент отвечает, остальные студенты готовятся.
Оценку «отлично» студент получает при ответе на два вопроса экзаменационного билета
и ответе на дополнительные вопросы по курсу.
Оценку «хорошо» студент получает:
- при ответе на два вопроса экзаменационного билета и не ответе на дополнительные вопросы в рамках курса;
- при ответе на один из вопросов и частичном ответе на второй вопрос экзаменационного
билета и ответе на дополнительные вопросы в рамках курса.
Оценку «удовлетворительно» студент получает:
- при частичном ответе на каждый вопрос экзаменационного билета и ответе на дополнительные вопросы в рамках курса;
Оценку «неудовлетворительно» студент получает:
- при частичном ответе на каждый вопрос экзаменационного билета и не ответе на дополнительные вопросы в рамках курса;
- при всех оставшихся вариантах ответов.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Экзаменационные вопросы
Понятие алгоритма. Свойства алгоритма.
Этапы создания программных средств
Типы и свойства данных. Скалярные и структурированные данные.
Линейные структуры данных.
Структура хранения данных. Вектор
Структура хранения данных. Список.
Структура хранения данных. Сеть.
Структура хранения данных. Массивы. Размещение массива в памяти.
Свободные массивы.
Треугольные и разреженные матрицы. Строки.
Записи. Множества.
Стеки. Структуры и свойства стека. Размещение стека в памяти.
Операции над стеками
Очереди. Структура и свойства очереди. Размещение очереди в памяти.
Операции над очередями.
Деки. Структуры и свойства дека. Размещение дека в памяти.
Операции над линейными списками.
Нелинейные структуры данных
Понятие дерева.
Леса
Представление деревьев в памяти ЭВМ
Представление m-арного дерева бинарным деревом
Идеально сбалансированное бинарное дерево
Бинарные (двоичные) деревья поиска
Сбалансированные АВЛ-деревья поиска
Рандомизированные деревья поиска. Оптимальные деревья поиска.
Операции над деревьями.
Особенности крупномасштабных деревьев.
В-деревья. Особенности операций над В-деревьями
Разновидности В-дерева
13
14
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Рекурсии
Задачи перебора. Алгоритмы с возвратом.
Задачи перебора. Метод ветвей и границ .
Задачи перебора. Метод проб и ошибок.
Задачи перебора. Динамическое программирование.
Таблицы. Виды таблиц.
Условия поиска в таблицах.
Линейные таблицы. Упорядоченные и неупорядоченные таблицы.
Поиск в неупорядоченных таблицах.
Поиск в упорядоченных таблицах.
Рекомендации по работе с линейными таблицами.
Таблицы с вычисляемыми входами.
Выбор функции расстановки.
Алгоритмы сжатия данных
Методы сжатия, ориентированные на конкретную структуру данных.
Методы сжатия, применяемые для любых данных.
Сортировка данных. Внутренняя и внешняя сортировка.
Внутренняя сортировка методом прямого включения.
Внутренняя сортировка методом прямого выбора.
Внутренняя сортировка методом прямого обмена (сортировка методом пу-
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
Шейкерная сортировка.
Внешняя сортировка. Особенности внешней сортировки.
Внешняя сортировка методом прямого слияния.
Внешняя сортировка методом естественного слияния.
Внешняя сортировка методом сбалансированного многопутевого слияния.
Многофазная сортировка.
Быстрые методы сортировки.
Порядковые статистики.
Файлы. Общие сведения о файлах.
Последовательные файлы. Библиотечные файлы. Файлы прямого доступа.
Индексно-последовательные файлы.
Файлы в MS DOS.
Файлы в NTFS.
Графы. Основные понятия и определения.
Представление графов.
Пути в графе.
Обход графов. Поиск в глубину и в ширину.
Кратчайшие пути
Остовные деревья графа. Остовное дерево наименьшей стоимости.
зырька)
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ (МАТЕРИАЛЫ) ПРЕПОДАВАТЕЛЮ
В процессе проведения аудиторных занятий по дисциплине большое внимание уделяется воспитательному аспекту, способствующему формированию сознательной, профессионально подготовленной личности. Современный выпускник высшей школы должен, помимо профессиональных знаний, иметь также навыки гуманного социального поведения и нравственную основу, которая закладывается в процессе коммуникации в студенческом коллективе и с преподавателями.
Немаловажное значение имеет моральная подготовка будущего специалиста (особенно специалиста в области информационных технологий) к рыночным реалиям нашего
времени. В связи с этим на занятиях должны быть показаны необходимость правильного
социального поведения на производстве, обладание коммуникативными способностями,
14
15
возможность освоения функций смежных профессий. На протяжении изучения всего курса дисциплины следует планомерно воспитывать уважение к своему делу, подчёркивать
важность и необходимость труда программиста, приводить примеры ответственности работающих комплексов. Такая направленность воспитательной деятельности в рамках
профессиональной дисциплины будет способствовать повышению заинтересованности
студентов, активизации их учебной деятельности, повышению качества обучения и, в целом, формированию нравственной личности с хорошими профессиональными знаниями.
Воспитательная сторона всей педагогической деятельности по курсу предполагает
использование активных методов обучения, проведение тестов, подготовку докладов, обсуждение проблемно-ситуационных задач. Это способствует формированию научного
мировоззрения студентов и наряду с учебными целями, представляет большие возможности по формированию у студентов не только знаний по дисциплине, но и воспитанию чувства уважения к выбранной профессии, профессиональным ценностям, коллегам. Все это
достигается при общении с преподавателем в ходе проведения аудиторных занятий.
Лекции
Лекционные занятия должны обеспечить студента необходимым теоретическим материалом, практическими примерами, обзором дополнительных источников информации,
необходимых для получения полного представления об изучаемой теме. Материал лекций
со ссылками на дополнительную литературу и предлагаемые методические пособия
должны быть достаточными для выполнения студентами предусмотренного цикла лабораторных работ.
Практические и семинарские занятия
Практические и семинарские занятия по дисциплине учебным планом не предусматриваются.
Лабораторные работы
Лабораторные работы проводятся в соответствии с предлагаемой тематикой. График
лабораторных работ и тема предстоящей работы должны быть известны студенту заранее.
Студент обязан предварительно в ходе самостоятельной работы теоретически подготовиться к предстоящей лабораторной работе в соответствии с методическими рекомендациями и предъявляемыми требованиям. К лабораторной работе целесообразно организовать предварительный допуск по теме работы в виде кратковременного опроса в устной
или иной форме (например, кратковременного компьютерного тестирования) с целью выявления уровня подготовки студента. Результаты, полученные студентом во время выполнения лабораторной работы, должны быть защищены преподавателю. Во время защиты
студент должен продемонстрировать необходимые теоретические знания по изучаемой
теме, практические навыки программирования, свободное понимание созданного программного кода.
Цикл лабораторных работ по дисциплине обеспечен учебно-методическим материалом, предложенным в настоящих методических указаниях.
Самостоятельная работа
Пользуясь материалами лекций, рекомендуемой литературой и другими источниками, в том числе источниками Интернет студентам рекомендуется самостоятельно закрепить полученные знания, а для студентов очно-заочного обучения освоить самостоятельно
15
16
значительное количество теоретического и практического материала.
Для самостоятельной работы могут быть вынесены как темы, которые в полном объеме и в доступной для понимания форме освещены в литературе, так и проблематичные
темы, требующие значительных усилий в их понимании. Для студентов очно-заочного отделения самостоятельная работа является одной из основных форм изучения материала.
Для студентов дневного отделения самостоятельная работа может носить более индивидуальный характер. Сложные темы рекомендуется давать сильным студентам, обладающим хорошей подготовкой, которые могут использовать самостоятельную работу как
опыт научно-исследовательской деятельности под руководством преподавателя. Самостоятельная работа должна выполняться в соответствии с методическими рекомендациями и
указаниями преподавателя, с периодическими консультациями и обсуждением результатов работы. Формы самостоятельной работы могут быть различны: работа студента с
учебной литературой, поиск необходимой информации в Интернет, использование электронных средств учебного назначения, периодических изданий. Результатом самостоятельной работы студента могут быть конспекты, рефераты, программы, презентации, выступление на студенческой научной конференции, публикация и т.д.
В процессе учебной самостоятельной деятельности студентам предлагается использовать различные источники информации:
учебную литературу,
материалы прикладных разработок полученных в ходе работы в лаборатории информационных систем и технологий в рамках проведения НИР;
периодические издания по компьютерной технике и программированию, имеющиеся
в научной библиотеке ВУЗа;
материалы конференций в области информатики, вычислительной техники и управления ;
электронные источники, в том числе источники Интернет.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ СТУДЕНТАМ
Цель выполнения лабораторных работ - закрепить теоретические знания, получить
практические навыки работы разработки алгоритмов. Для достижения заданной цели
необходимо решить следующие задачи.




Изучить теоретический материал согласно теме.
Выполнить лабораторную работу в соответствии с «Методические указания для
лабораторных работ по дисциплине «Структура и алгоритмы обработки данных».
Оформить результаты работы.
Уметь интерпретировать полученные результаты (делать выводы)
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ
САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ
Самостоятельная работа — важная составляющая изучения курса, которая
направлена на более детальное рассмотрение отдельных теоретических вопросов,
глубокое усвоение учебного материала, отработку практических навыков в виде учебнонаучной деятельности.
Самостоятельная работа студентов является важной составляющей изучения курса и
направлена на
углубленное освоение учебного материала, развитие творческих
способностей студента и умение работать с учебной литературой. Самостоятельная
работа способствует развитию зрительной памяти студентов, умению четко и быстро
восстановить (на чистом листе) материал, изложенный на выдаваемых преподавателем
листах. Кроме того, студент развивает навыки устной речи, указывая на порядок решения
16
17
отдельных задач, приведенных на листах, в процессе отчета, в отведенное для этого
время.
Распределение самостоятельной работы по темам и разделам курса представлено в
тематических планах.
Самостоятельная работа студентов включает подготовку к аудиторным занятиям,
выполнение индивидуальных заданий, подготовка к лабораторным работам, подготовку к
экзамену, конспектирование разделов не озвученных на аудиторных занятиях.
Руководство самостоятельной работой студентов осуществляется в форме
консультаций преподавателя со студентами в часы, указанные расписанием или в начале
занятия.
При выполнении самостоятельной работы должна использоваться литература,
касающаяся теоретических аспектов изучения дисциплины. Возможно использование
информации, предоставляемой официальными интернет-сайтами.
РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
Материально-техническое обеспечение дисциплины «Метрология, стандартизация и сертификация»:
- компьютерное и мультимедийное оборудование;
- интернет-ресурсы.
Программное обеспечение и Интернет-ресурсы
1.
http://www.csa.ru/analitik/distant/q_start.html - «Высокопроизводительные алгоритмы»
2.
http://www.hpc.nw.ru/COURSES/HPC/index.html - Электронное пособие «Программирование для высокопроизводительных ЭВМ» А.В.Комолкин, С.А.Немнюгин.
3.
http://www.window.edu.ru - Структуры и алгоритмы обработки данных: Учебное пособие *
4.
http://www.ru.wikipedia.org - Википедиа –5.
http://www.//iprbookshop.ru/17926.— ЭБС «IPRbooks» - Электронная библиотека
17
18
1. Федеральный закон «О техническом регулировании» -http://www./base.garant.ru
2. Закон РФ «Об обеспечении единства измерений». rg.ru›Закон об обеспечении
единства
3. Стандарты ИСО-9000 http://www wikiquality.ru
4. . ГОСТы, СНиПы, СанПиНы и др. Образовательный ресурс. http://www.gostedu.ru
5. 7. Электронный ресурс.- http://kachestvo2011.narod.ru/Belikh Sertifikaciya
_kachestva_2006.pdf
6. 8. Комитет РСПП по техническому регулированию - http://www.rgtr.ru
7. Государственный реестр средств измерений - http://www.metrob.ru
8. «Роспромтест» Всероссийский центр сертификации - http://www.rospromtest.ru
9. Научно-исследовательский центр сертификации - http://www.vniis.ru/ и др.
10. Международный центр сертификации http://www.dqs-russia.ru/
11. Всероссийский
научно-исследовательский
институт
сертификации
http://www.vniis.ru/
12. Росстат http://www.gks.ru
13. Административно-управленческий портал http://www.aup.ru
14. Всемирная торговая организация http://www.wto.org
15. Организация экономического сотрудничества и развитии http://www.oecd.org
16. STANDARD.RU - портал о стандартах http://www.standard.ru/iso9000
17. Сертификация систем качества http://www.unilib.neva.ru
18. Роспотребнадзор http://rospotrebnadzor.ru/news
19. ISO портал http://www.iso.staratel.com/ISO
20. Каталог «Стандартизация. Метрология. Сертификация. Управление качеством.
Экология».www.stq.ru
21. Современный менеджмент качества www.iso9000.ru
22. Все о стандартах www.standard.ru
23. Справочник «Стандартизация»http://www.standartizac.ru
24. Сайт Госстандарта www.gost.ru
18
Download