Задания.

Номер задания соответствует номеру варианта.

  1. Организовать бинарное дерево поиска по результатам соревнований (Пример Рис.1). Вывести названия команд, с которыми играл чемпион. Общее число команд-участниц соответствует степени двойки.
  2. Организовать бинарное дерево поиска по результатам соревнований (Пример Рис.1). Вывести названия команд-участников заданной части финала. Общее число команд-участниц соответствует степени двойки.

Рис.1

  1. Написать программу обхода дерева в прямом порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
  2. По заданному во входном файле тексту построить дерево бинарного поиска. Вывести все слова, встречающиеся заданное число раз.
  3. Написать программу обхода дерева в обратном порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
  4. Написать программу обхода дерева в симметричном порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
  5. Построить дерево поиска. Вывести дерево на экран, используя три различных способа обхода. Найти глубину дерева.
  6. Вычислить длину внутреннего пути. Найти сумму значений элементов на i-том уровне. Написать рекурсивную процедуру.
  7. Вычислить длину внутреннего пути. Найти сумму значений элементов на i-том уровне. Написать нерекурсивную процедуру.
  8. Вычислить длину внешнего пути. Найти сумму значений элементов на i-ом уровне.
  9. Написать программу рисования дерева с помощью символов псевдографики. Предусмотреть возможность записи изображения в текстовый файл.
  10. Написать программу прошивки дерева согласно обратному обходу. Найти сумму значений элементов на i-том уровне.
  11. Написать программу прошивки дерева согласно прямому обходу. Найти сумму значений элементов на i-том уровне.
  12. Построить дерево поиска. Реализовать процедуры добавления и удаления элементов.
  13. Написать программу прошивки дерева при центрированном обходе. Найти сумму значений элементов на i-том уровне.
  14. Построить дерево оптимального поиска по входному фалу, содержащему номера ключей и вероятности обращения к ним. Осуществить проверку на наличие заданного ключа.
  15. Построить АВЛ-дерево по входной последовательности чисел. Реализовать функцию удаления заданного узла с последующей балансировкой дерева.
  16. Реализовать дерево массивом и составить списки узлов дерева при обходе этого дерева в прямом порядке (процедура обхода должна быть нерекурсивной). Найти глубину дерева.
  17. При прохождении дерева в порядке уровней в список узлов сначала заносится корень дерева, затем все узлы глубины 1, далее все узлы глубины 2 и т.д. Узлы одной глубины заносятся в список узлов в порядке слева направо. Напишите программу обхода деревьев в порядке уровней.
  18. Построить идеально сбалансированное дерево с n вершинами. Вывести его на экран, используя три разных обхода.
  19. Построить генеалогическое дерево предков некоторого человека. Вывести всех предков заданного узла. Проверить сколько среди ваших предков «Николаев». Определить какова высота «вашего» дерева. Проверить был ли у «Вас» дедушка, которого звали как «Вашего» отца.
  20. Построить генеалогическое дерево предков некоторого человека, содержащее имена и возраст «Ваших» предков. Как звали самую пра-пра-бабушку по материнской линии и самого пра-пра-дедушку по отцовской линии. Какой минимальный возраст у «Ваших» предков мужчин.
  21. Построить дерево оптимального поиска (входные данные считывать из файла). Частоту вхождения элементов вычислить самостоятельно.
  22. Распечатать все идентификаторы Паскаль – программы в алфавитном порядке, указав сколько раз идентификатор встречается в программе. Идентификатором называется последовательность, состоящая из латинских букв и цифр, начинающаяся с буквы. Для решения задачи использовать дерево поиска. Одинаковые идентификаторы хранятся в одном узле дерева, для их счетчика предусмотрено поле Count/