我最近一直在研究二进制搜索树及其在Java中的实现。但是我的问题与obj更相关。面向程序设计比数据结构更多。类二叉树的方法之一实现如下:
protected BinaryNode<AnyType> findMin( BinaryNode<AnyType> t )
{
//BinaryNode<AnyType> k= new BinaryNode<AnyType>(x);
if( t != null )
while( t.left != null )
{
t=t.left;
}
return t;
}
现在,如果不是“ t”,而是返回“ root”,则返回二叉树的最小元素,但是最后该方法是否不会更改“ root”的值?实际上,我知道它不会改变它,但是我不明白为什么。
最佳答案
树没有任何变化。 t
是您插入到方法中的任何节点的临时替换。与执行此操作时相同:
int x = 5;
int y = x + 1;
System.out.println(x);
System.out.println(y);
输出仍然是:
5
6