查找二分搜索树的最大元素递归问题

来源:1-13 删除二分搜索树的最大元素和最小元素

学无止境呀呀呀

2020-11-22 10:47:02

# 具体遇到的问题
当插入的最大元素是root时,能找到相应的最大值
# 报错信息的截图
http://img.mukewang.com/climg/5fb9d0cb09ad54d309260289.jpg

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)


public E maximunR(){
if (root.size==0)return null;
return maximun(root).data;
}
private Node maximun(Node node){
if (node.right==null){
return node;
}
return minimun(node.right);
}
public static void main(String[] args) {
BST<Integer> bst = new BST<>();
int[]o={5,100,50,200,80,45,78,9,10};
for(int i = 0; i < o.length; i++){
bst.add(o[i]);
}
System.out.println(bst.minimunR()); // 此时最小是5
System.out.println(bst.maximunR()); // 最大是9,但是最大应该是200
}


写回答

1回答

liuyubobobo

2020-11-22

maximum 中应该递归调用 maximum,不是 minimum。


继续加油!:)

0

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2603 学习 · 1086 问题

查看课程