Skip to content

Лабораторная работа №3

Петров Иван Рюрикович requested to merge lab3 into master

Введение

Задание будет состоять из нескольких частей, поэтому не затягивайте со сдачей. Все структуры, необходимые для реализации описанных ниже заданий должны быть взяты из предыдущих лабораторных работ.

Задание

  • Необходимо реализовать обычное двоичное дерево (не поиска и не балансирующее) с реализацией обхода этого дерева в глубину (направление обхода не важно, обход через рекурсию)
  • Необходимо реализовать алгоритм для парсинга скобочной записи дерева. Пример: (8 (9 (5)) (1)) - корень 8, левый сын 9, правый 1, левый сын узла 9 – 5. Входные данные должны быть получены путем чтения из файла.
  • Реализовать АВЛ дерево (усложненный вариант — красно-черное дерево) с реализацией алгоритмов вставки, удаления, поиска, обхода в ширину, обхода в глубину (все 3 вида и использовать итеративный вариант).

Для защиты

  • Чтение скобочной записи (путем чтения из файла)
  • Шаг 1 или создает двоичное дерево или сообщает об ошибке (неправильные символы, неправильно расставлены скобки, не двоичное дерево вообще и тп)
  • Обойти полученное дерево и создать АВЛ (или КЧ) дерево.
  • Продемонстрировать вывод всех узлов 4 способами: в ширину и 3 в глубину.

Merge request reports