Так что я просто написал код для вставки узлов в двоичное дерево (НЕ BST).Насколько эффективна память - реализация двоичного дерева в Java?
Я заметил, что каждый раз, когда рекурсивная вставка возвращает «узел», она назначается начальному узлу.
Означает ли это, что ссылка на память корня этого дерева изменится по завершении каждой вставки?
public void add(int data)
{
root=add(root,data);
}
public static BinaryNode add(BinaryNode node, int data) {
if(node==null)
{
node=new BinaryNode(data);
}
else {
///IF not 1st element, flow enters this part
if(node.left==null && node.right==null)
{
node.left=add(node.right,data);
}
else if (node.right == null) {
node.right=add(node.right, data);
} else {
node.left=add(node.left, data);
}
}
return node;
}