- •СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ
- •Глава 1 Линейные списки
- •Понятие структуры данных
- •Тип указатель
- •Линейный список
- •Линейный однонаправленный (односвязный) список
- •Линейный двунаправленный (двусвязный) список
- •Практическое задание «Линейные списки»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 2 Структуры данных стек и очередь
- •Понятие структуры данных стек и очередь
- •Структура данных стек
- •Структура данных очередь
- •Пример решения задачи с использованием стека
- •Практическое задание «Стеки и очереди»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 3 Древовидные структуры данных
- •Понятие структуры данных дерево
- •Представление структуры бинарное дерево в памяти
- •Обход дерева
- •Основные операции над деревом
- •Ввод дерева
- •Практическое задание «Бинарные деревья»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 4 Структура данных таблица
- •Понятие структуры данных таблица
- •Представление таблицы в памяти
- •Организация хеш-таблиц
- •Выбор функции расстановки
- •Разрешение коллизии
- •Операции над таблицами
- •Практическое задание «Управление таблицами»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Глава 5 Алгоритмы упорядочения данных
- •Понятие операции упорядочения
- •Алгоритмы упорядочения
- •Сортировка слиянием
- •Основные алгоритмы сортировки посредством сравнений
- •Улучшенные алгоритмы сортировки сравнением
- •Практическое задание «Алгоритмы сортировки»
- •Задачи для самостоятельной работы
- •Контрольные вопросы
- •Библиографический список
а) определяет максимальную глубину непустого дерева, т. е. число ветвей в самом длинном из путей от корня до листьев;
б) по заданному n строит дерево, показанное на рис. 3.5, а или рис. 3.5, б.
Рис. 3.5
8В текстовом файле дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Написать подпрограмму, которая помещает элементы этой последовательности в дерево поиска, и подпрограмму:
а) удаления наибольшего элемента из дерева поиска; б) удаления наименьшего элемента из дерева поиска;
в) вычисления длины пути от корня до элемента с заданным значением в дереве поиска;
г) вывода элементов последовательности в порядке возрастания их значений;
д) вывода элементов последовательности в порядке убывания их значений.
Контрольные вопросы
1Понятие дерева, двоичного дерева, упорядоченного дерева, дерева поиска.
2Способы задания дерева.
86
3Способы обхода дерева (в глубину: прямой, обратный, концевой; в ширину).
4Показать, можно ли построить бинарное дерево, если заданы:
a)прямой и обратный порядки расположения его узлов;
б) прямой и концевой порядки; в) обратный и концевой порядки?
Если построить дерево можно, то приведите алгоритм построения.
5Найдите все бинарные деревья, узлы которых располагаются точно в одной и той же последовательности:
а) в прямом и обратном порядках; б) в прямом и концевом порядках; в) в обратном и концевом порядках.
6 Каково наибольшее число вершин, находящихся одновременно в стеке при обходе двоичного дерева, содержащего n элементов:
а) в прямом порядке; б) обратном порядке; в) концевом порядке?
