У меня есть идеальное двоичное дерево, которое перечислило способ пост-заказа. Примером такого дерева было бы
15
7 14
3 6 10 13
1 2 4 5 8 9 11 12
Размер дерева мне известен. Я ищу формулу или простой алгоритм, который будет принимать один номер в качестве ввода (идентификатор нужной мне вершины) и вернуть также один номер - идентификатор родителя. Очень легко пересечь дерево сверху и получить результат в O(log n)
. Есть ли более быстрое решение? Меня больше всего интересуют листья, поэтому, если есть решение для особого случая, принесите его тоже.