У меня есть двоичное дерево, в котором каждый узел может иметь значение.
Я хочу найти узел в дереве, который имеет значение null и находится ближе всего к корню. Если есть два узла на одинаковом расстоянии от корня, подойдет любой. Мне нужно минимизировать количество доступов для чтения к двоичному дереву. Предположим, что рабочая память ограничена всего k узлами.
DFS на глубину k является исчерпывающим, но не найдет ближайший узел, если я сначала не пройдусь по всему дереву. BFS найдет ближайший, но это может привести к сбою, потому что DFS может найти более глубокие нули с той же памятью.
Я хотел бы иметь наименьшее количество доступов для чтения к дереву и найти ближайший нулевой узел.
(В конце концов мне нужно будет реализовать это и в n-путевых деревьях, поэтому общее решение было бы хорошим. Нет доступа для записи к дереву, только чтение.)