Просто наблюдение. В целом верно.
Если у вас есть полное двоичное дерево, под которым я подразумеваю, что у всех внутренних узлов есть два дочерних элемента, и все листья на одной глубине. И если вы нумеруете их, начиная с 1
т.е. в вашем случае
a = 1; b = 2; c = 3 ....
Для любого узла x -> i
Это дети будут 2*i
и 2*i + 1
И его родитель будет floor(i/2)
В вашем случае вы можете просто жестко закодировать его, так как у вас есть только глубина = 4