我试图确认搜索树是遵循排序规则(左边的小号码和右边的大号码)。 这是工作正常(递归)的右侧,但左侧是关闭的。Java二进制树搜索顺序左侧不工作
当树看起来像这样:
100 50 150 55 75 125 175
如果我打印输出,I可以看到,它会检查50 < 100和150> 100,则它向下移动的权利检查125和175> 150.它检查125和175,但后来跳到55和75,从来没有比较55 < 50(false)和75> 50.
有人可以请解释我'米做错了吗?
public boolean isSearchTree(){
boolean result = true;
if (left != null) result = left.isSearchTree();
if (right != null) result = right.isSearchTree();
if (left != null && left.value >= value){
return false;
}
if (right != null && right.value <= value){
return false;
}
return result;
}