- •СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ
- •Глава 1 Линейные списки
- •Понятие структуры данных
- •Тип указатель
- •Линейный список
- •Линейный однонаправленный (односвязный) список
- •Линейный двунаправленный (двусвязный) список
- •Практическое задание «Линейные списки»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 2 Структуры данных стек и очередь
- •Понятие структуры данных стек и очередь
- •Структура данных стек
- •Структура данных очередь
- •Пример решения задачи с использованием стека
- •Практическое задание «Стеки и очереди»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 3 Древовидные структуры данных
- •Понятие структуры данных дерево
- •Представление структуры бинарное дерево в памяти
- •Обход дерева
- •Основные операции над деревом
- •Ввод дерева
- •Практическое задание «Бинарные деревья»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 4 Структура данных таблица
- •Понятие структуры данных таблица
- •Представление таблицы в памяти
- •Организация хеш-таблиц
- •Выбор функции расстановки
- •Разрешение коллизии
- •Операции над таблицами
- •Практическое задание «Управление таблицами»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 5 Алгоритмы упорядочения данных
- •Понятие операции упорядочения
- •Алгоритмы упорядочения
- •Сортировка слиянием
- •Основные алгоритмы сортировки посредством сравнений
- •Улучшенные алгоритмы сортировки сравнением
- •Практическое задание «Алгоритмы сортировки»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Библиографический список
Министерство науки и высшего образования Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Ю. В. ТРАКИМУС, В. П. ХИЦЕНКО
СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ
Утверждено Редакционно-издательским советом университета в качестве учебного пособия
НОВОСИБИРСК
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
