-1
试图想出一个算法来访问BST中的每个节点并比较每个节点以找到最大的int值,我的BST是不平衡的并且按字母顺序排序,但是它们具有int值并且我需要找到树中最大的int值。需要递归算法来搜索所有BST
我的代码是:
private Object Mode(BinaryTreeNode root) {
if (root == null) {
return null;
}
Object left = root.getElement();
Object right = root.getElement();
if (root.getLeftChild() != null) {
Object leftEle = root.getLeftChild().getElement();
if (left.data < leftEle.data) {
left = Mode(root.getLeftChild());
}
}
if (root.getRightChild() != null) {
Object rightEle = root.getRightChild().getElement();
if (right.data < rightEle.data) {
right = Mode(root.getRightChild());
}
}
if(left.data > right.data){
return left;
}
return right;`
}
我知道什么时候该方法调用被弹出从堆栈攀比发生,但我不知道如果我最终实际检查的所有节点
如果你可以在你的描述中加入一些(格式化的)代码,这里的人可能会更好地帮助你解决你的语法问题。你的伪代码非常准确,并且正确地使用递归。 –
@MileHigh请你详细说明这个 '我的BST是不平衡和按字母顺序排序的,但是它们具有int值。整数值和字符之间的排序顺序是什么? – radbrawler