Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структуры данных и алгоритмы. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
1 Мб
Скачать

Министерство науки и высшего образования Российской Федерации

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

Ю. В. ТРАКИМУС, В. П. ХИЦЕНКО

СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

НОВОСИБИРСК

2022

УДК 004.422.63(075.8) Т 652

Рецензенты:

д-р техн. наук, профессор кафедры ПМт М. Э. Рояк; канд. техн. наук, старший научный сотрудник

АО «ЕМ-Разведка» М. В. Абрамов

Работа подготовлена на кафедре прикладной математики НГТУ

Тракимус Ю. В.

Т 652 Структуры данных и алгоритмы : учебное пособие / Ю. В. Тракимус, В. П. Хиценко. – Новосибирск : Изд-во НГТУ, 2022. – 127 с.

ISBN 978-5-7782-4814-4

В настоящем учебном пособии рассмотрены основные используемые в практике программирования разновидности структур данных и алгоритмы их обработки. Пособие содержит примеры на стандартном языке C и может быть рекомендовано как для самостоятельного изучения курса, так и для подготовки к практическим занятиям по программированию. Предназначено студентам I курса факультета прикладной математики и информатики.

 

УДК 004.422.63(075.8)

ISBN 978-5-7782-4814-4

© Тракимус Ю. В., Хиценко В. П., 2022

 

© Новосибирский государственный

 

технический университет, 2022

ОГЛАВЛЕНИЕ

ГЛАВА 1 ЛИНЕЙНЫЕ СПИСКИ ..................................................................

5

Понятие структуры данных .......................................................

5

Тип указатель ..............................................................................

7

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

15

Линейный однонаправленный (односвязный) список ..........

16

Линейный двунаправленный (двусвязный) список...............

25

ПРАКТИЧЕСКОЕ ЗАДАНИЕ «ЛИНЕЙНЫЕ СПИСКИ» ...................

30

Задачи для самостоятельной работы ......................................

36

Контрольные вопросы..............................................................

41

ГЛАВА 2 СТРУКТУРЫ ДАННЫХ СТЕК И ОЧЕРЕДЬ .................................

43

Понятие структуры данных стек и очередь ...........................

43

Структура данных стек ............................................................

44

Структура данных очередь ......................................................

49

Пример решения задачи с использованием стека .................

56

ПРАКТИЧЕСКОЕ ЗАДАНИЕ «СТЕКИ И ОЧЕРЕДИ».......................

58

Задачи для самостоятельной работы ......................................

60

Контрольные вопросы..............................................................

66

ГЛАВА 3 ДРЕВОВИДНЫЕ СТРУКТУРЫ ДАННЫХ ....................................

67

Понятие структуры данных дерево ..........................................

67

Представление структуры бинарное дерево в памяти ..........

70

Обход дерева..............................................................................

71

Основные операции над деревом ..............................................

76

Ввод дерева ................................................................................

80

ПРАКТИЧЕСКОЕ ЗАДАНИЕ «БИНАРНЫЕ ДЕРЕВЬЯ» ...................

81

Задачи для самостоятельной работы ......................................

83

Контрольные вопросы..............................................................

86

3

 

ГЛАВА 4 СТРУКТУРА ДАННЫХ ТАБЛИЦА ..............................................

88

Понятие структуры данных таблица.......................................

88

Представление таблицы в памяти ...........................................

89

Организация хеш-таблиц .........................................................

91

Выбор функции расстановки ...................................................

91

Разрешение коллизии ...............................................................

93

Операции над таблицами .........................................................

94

ПРАКТИЧЕСКОЕ ЗАДАНИЕ «УПРАВЛЕНИЕ ТАБЛИЦАМИ».........

99

Задачи для самостоятельной работы ....................................

101

Контрольные вопросы............................................................

105

ГЛАВА 5 АЛГОРИТМЫ УПОРЯДОЧЕНИЯ ДАННЫХ ..............................

106

Понятие операции упорядочения ...........................................

106

Алгоритмы упорядочения......................................................

107

Сортировка слиянием.............................................................

107

Основные алгоритмы сортировки посредством сравнений109

Улучшенные алгоритмы сортировки сравнением...............

113

ПРАКТИЧЕСКОЕ ЗАДАНИЕ «АЛГОРИТМЫ СОРТИРОВКИ» .......

118

Задачи для самостоятельной работы ....................................

121

Контрольные вопросы............................................................

125

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ...........................................................

126

4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]