Двоичное дерево – это структура данных дерево, в которой каждый узел имеет до двух дочерних узлов, образующих ветви дерева. Два потомка обычно называются левым и правым узлами.

Дерево и древовидная терминология

Предшественник и преемник

Бинарное дерево и почему бинарное дерево?

Типы бинарного дерева:

Представление дерева

  • Использование связанного списка
  • Использование массива

Общие операции с бинарным деревом:

  • Создание дерева
  • Вставка узла
  • Удаление узла
  • Поиск значения
  • Пройти все узлы
  • Удаление дерева

Двоичное дерево (реализация связанного списка)

Создание дерева

Обход всех узлов бинарного дерева (предварительный заказ):

Обход по порядку

Обход после заказа

Обход порядка уровней

Разные виды деревьев

двоичные деревья поиска (BST), иногда называемые упорядоченными или отсортированными двоичными деревьями, представляют собой контейнер определенного типа: структуру данных, в которой хранятся «элементы». (например, числа, имена и т. д.) в памяти. Они обеспечивают быстрый поиск, добавление и удаление элементов и могут использоваться для реализации либо динамических наборов элементов, либо таблиц поиска, позволяющих находить элемент по его ключу (например, находить номер телефона человека по имени).

Дерево AVL — это еще одно дерево сбалансированного бинарного поиска. Названные в честь своих изобретателей, Адельсона-Вельского и Лэндиса, они были первыми предложенными динамически сбалансированными деревьями. Подобно красно-черным деревьям, они не идеально сбалансированы, но пары под-деревьев отличаются по высоте не более чем на 1, что обеспечивает время поиска O(logn).