У меня проблема с методом вставки в мое полное двоичное дерево
public void insert( Equipo equipo){
this.setRootNode(insertThis(this.getRootNode(), node));
}
private BinaryTreeNode insertThis(BinaryTreeNode root, BinaryTreeNode nodo){
if(root == null) {
root = nodo;
} else {
if(root.getLeftNode() == null) {
root.setLeftNode(insertThis(root.getLeftNode(),nodo));
} else if(root.getRightNode() == null) {
root.setRightNode(insertThis(root.getRightNode(),nodo));
} else {
if(root.getLeftNode().getLeftNode() == null
|| root.getLeftNode().getRightNode() == null) {
root.setLeftNode(insertThis(root.getLeftNode(),nodo));
} else if(root.getRightNode().getLeftNode() == null
|| root.getRightNode().getRightNode() == null) {
root.setRightNode(insertThis(root.getRightNode(),nodo));
} else {
insertThis(root.getLeftNode(),nodo);
}
}
}
return node;
}
Проблема в том, что после второго уровня двоичного дерева все узлы go находятся в левом поддереве root и no - это полное двоичное дерево, мне нужно разрешить его или, если у вас есть другая реализация полного двоичного дерева, это полезно для меня!. Спасибо