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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

КУРГАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Кафедра программного обеспечения автоматизированных систем

Алгоритмы и структуры данных

Методические указания

к выполнению лабораторных и курсовых работ

для студентов направления (специальности)

231000.62 – «Программная инженерия»

Курган 2013

Кафедра: «Программное обеспечение автоматизированных систем»

Дисциплина: «Программная инженерия» (231000.62)

Составил: канд. техн. наук, доцент А.М. Семахин

Утверждены на заседании кафедры « 3 » июня 2011 г.

Рекомендованы методическим советом университета

« 12 » октября 2012 г.

Содержание

СОДЕРЖАНИЕ 3

ВВЕДЕНИЕ 5

1. Линейные структуры данных 6

1.1. Линейный список 6

1.2. Стек 7

1.3. Очереди 7

1.3.1. Универсальная очередь неограниченного размера 7

1.3.2. Универсальная очередь ограниченного размера 8

2. Нелинейные структуры данных. Бинарные деревья 8

3. Алгоритмы сортировки данных в оперативной памяти 8

3.1. Сортировка массива простым выбором 9

3.2. Сортировка массива вставками (сортировка Шелла) 9

3.3. Сортировка массива обменом (сортировка Хоара) 9

3.4 Сортировка с помощью дерева (пирамиды) 10

3.5. Генерация массива числовых данных

случайным распределением значений элементов 10

4. Внутренний поиск данных в таблице 15

4.1. Последовательный поиск 15

4.2. Логарифмический (бинарный) поиск 16

4.3. Поиск с использованием перемешанной таблицы

(хэш-таблицы) 17

5. Алгоритмы поиска на графах 17

5.1. Поиск кратчайшего пути. Алгоритм Дейкстры 17

5.2. Поиск кратчайшего пути. Алгоритм Флойда 19

6. Задания для выполнения лабораторных работ 26

6.1. Задания для выполнения лабораторной работы №1

«Линейные структуры данных» 26

6.2. Задания для выполнения лабораторной работы №2

«Нелинейные структуры данных. Бинарные деревья» 32

6.3. Задания для выполнения лабораторной работы №3

«Алгоритмы сортировки данных в оперативной памяти» 39

6.4. Задания для выполнения лабораторной работы №4

«Внутренний поиск данных в таблице» 40

6.5. Задания для выполнения лабораторной работы №5

«Алгоритмы поиска на графах» 45

6.5.1. Поиск кратчайшего пути. Алгоритм Дейкстры 45

6.5.2. Поиск кратчайшего пути. Алгоритм Флойда 55

7. Курсовая работа 64

7.3.1. Назначение, цели и задачи курсовой работы 64

7.3.2. Требования к курсовой работе 65

7.3.2.1. Требования к функциональным характеристикам 65

7.3.2.2. Требования к эксплуатационным характеристикам 65

7.3.2.3. Требования к программному обеспечению 65

7.3.2.4. Требования к содержанию курсовой работы 65

7.3.3. Варианты заданий курсовой работы 66

ЗАКЛЮЧЕНИЕ 67

СПИСОК ЛИТЕРАТУРЫ 68