Задания.
Номер задания соответствует номеру варианта.
- Организовать бинарное дерево поиска по результатам соревнований (Пример Рис.1). Вывести названия команд, с которыми играл чемпион. Общее число команд-участниц соответствует степени двойки.
- Организовать бинарное дерево поиска по результатам соревнований (Пример Рис.1). Вывести названия команд-участников заданной части финала. Общее число команд-участниц соответствует степени двойки.
Рис.1
- Написать программу обхода дерева в прямом порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
- По заданному во входном файле тексту построить дерево бинарного поиска. Вывести все слова, встречающиеся заданное число раз.
- Написать программу обхода дерева в обратном порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
- Написать программу обхода дерева в симметричном порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
- Построить дерево поиска. Вывести дерево на экран, используя три различных способа обхода. Найти глубину дерева.
- Вычислить длину внутреннего пути. Найти сумму значений элементов на i-том уровне. Написать рекурсивную процедуру.
- Вычислить длину внутреннего пути. Найти сумму значений элементов на i-том уровне. Написать нерекурсивную процедуру.
- Вычислить длину внешнего пути. Найти сумму значений элементов на i-ом уровне.
- Написать программу рисования дерева с помощью символов псевдографики. Предусмотреть возможность записи изображения в текстовый файл.
- Написать программу прошивки дерева согласно обратному обходу. Найти сумму значений элементов на i-том уровне.
- Написать программу прошивки дерева согласно прямому обходу. Найти сумму значений элементов на i-том уровне.
- Построить дерево поиска. Реализовать процедуры добавления и удаления элементов.
- Написать программу прошивки дерева при центрированном обходе. Найти сумму значений элементов на i-том уровне.
- Построить дерево оптимального поиска по входному фалу, содержащему номера ключей и вероятности обращения к ним. Осуществить проверку на наличие заданного ключа.
- Построить АВЛ-дерево по входной последовательности чисел. Реализовать функцию удаления заданного узла с последующей балансировкой дерева.
- Реализовать дерево массивом и составить списки узлов дерева при обходе этого дерева в прямом порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
- При прохождении дерева в порядке уровней в список узлов сначала заносится корень дерева, затем все узлы глубины 1, далее все узлы глубины 2 и т.д. Узлы одной глубины заносятся в список узлов в порядке слева направо. Напишите программу обхода деревьев в порядке уровней.
- Построить идеально сбалансированное дерево с n вершинами. Вывести его на экран, используя три разных обхода.
- Построить генеалогическое дерево предков некоторого человека. Вывести всех предков заданного узла. Проверить сколько среди ваших предков «Николаев». Определить какова высота «вашего» дерева. Проверить был ли у «Вас» дедушка, которого звали как «Вашего» отца.
- Построить генеалогическое дерево предков некоторого человека, содержащее имена и возраст «Ваших» предков. Как звали самую пра-пра-бабушку по материнской линии и самого пра-пра-дедушку по отцовской линии. Какой минимальный возраст у «Ваших» предков мужчин.
- Построить дерево оптимального поиска (входные данные считывать из файла). Частоту вхождения элементов вычислить самостоятельно.
- Распечатать все идентификаторы Паскаль – программы в алфавитном порядке, указав сколько раз идентификатор встречается в программе. Идентификатором называется последовательность, состоящая из латинских букв и цифр, начинающаяся с буквы. Для решения задачи использовать дерево поиска. Одинаковые идентификаторы хранятся в одном узле дерева, для их счетчика предусмотрено поле Count/