Возврат родительского узла в двоичном дереве ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Возврат родительского узла в двоичном дереве

Сообщение Anonymous »

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

Код: Выделить всё

//Assume that nodes are represented by numbers from 1...n where 1=root and even
//nos.=left child and odd nos=right child.
public int parent(Node node){
if (node % 2 == 0){
if (root.left==node)
return root;
else
return parent(root.left);
}
//same case for right
}
Но эта программа не работает и дает неправильные результаты. Мой основной алгоритм заключается в том, что программа запускается из корня и проверяет, находится ли он слева или справа. Если это дочерний элемент или узел, к которому был запрошен else, рекурсивно обращается к дочернему элементу.

Подробнее здесь: https://stackoverflow.com/questions/123 ... inary-tree

Вернуться в «JAVA»