Построение двоичного дерева Испытание курса: Python: Введение в ООП

Двоичное дерево — иерархическая структура данных, в которой каждый узел имеет не более двух потомков (детей). Как правило, первый называется родительским узлом, а дети называются левым и правым наследниками.

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

Двоичное дерево поиска

src/solution.py

Реализуйте класс, который представляет собой узел дерева.

Класс должен содержать:

  • Атрибут key — ключ узла.
  • Атрибуты left и right — ссылки на левого и правого ребёнка соответственно. Если ребёнок в узле отсутствует, геттер возвращает None.
  • Метод insert(key) — выполняет добавление узла, формируя правильное двоичное дерево.

Примеры

>>> from solution import Node
>>> tree = Node()
>>> tree.insert(9)
>>> tree.insert(17)
>>> tree.insert(4)
>>> tree.insert(3)
>>> tree.insert(6)
>>> tree.key
9
>>> tree.left.key
4
>>> tree.right.key
17
>>> tree.left.left.key
3
>>> tree.left.right.key
6
>>>

Подсказки

Успешных завершений: 71%

Для полного доступа к испытанию нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, даст возможность обращаться за помощью к менторам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов

Последние код-ревью

Автор Дата обновления Версий
user-60f6c2532e340d4e 01 сент., 09:07 1
vitaliipaprotskyi 23 авг., 07:21 1
user-110df8b01617705f 13 авг., 15:45 1
agmrv 03 авг., 08:09 1
pavelgoshurenko 12 июня, 06:44 1