Спасибо за вашу помощь
Фон
У меня есть вопрос о расположении узлов в дереве.
У меня есть простое двоичное дерево. Каждый узел имеет часть данных в нем. Допустим, это выглядит так:
a
/ \
b c
Где a=root
, b=root.left
, c=root.right
Дерево не создается вручную. Допустим, я получил запрос на добавление new_data
к узлу c.
Я не понимаю, как узнать, где находится c, без явного написания root.right.data=new_data
.
Моя первая мысль - создать некоторый тип вспомогательного словаря со ссылками на расположение узлов, например:
helper = {
'a'= root,
'b'= root.left,
'c'= root.right
}
Так что, когда я получу запрос, я могу пойти к помощнику и сказать что-то вроде:
helper.get('c').data=new_data
Вопросы
Я на правильном поле? Рекурсивный поиск по всему дереву несколько раз кажется немного сложным - этот помощник может периодически обновляться, когда дерево меняет структуру своего узла.
Я не понимаю, как на самом деле вернуть мое местоположение для каждого узла, когда я рекурсивно сканирую дерево. Как я могу создать этот помощник?