测试删除二叉树中的最小元素对应的节点出现了小问题
来源:6-11 删除二分搜索树的最大元素和最小元素
慕仰2548221
2018-12-25
BST<Integer>bst = new BST<>();
Random random = new Random();
int n =100;
for(int i = 0; i < n; i++) {
bst.add(random.nextInt(10000));
}
//System.out.println(bst.removeMin());
ArrayList<Integer> nums = new ArrayList<>();
while(!bst.isEmpty()) {
nums.add(bst.removeMin());
}
System.out.println(nums);
老师,这是按照您视频里的主函数的测试代码写的,在我的电脑中n >= 100就抛出异常,显示空指针异常。在n<100的时候,输出的的数的确是从小到大排序的。
(我的代码和您PPT中的代码已经检查过多次,所以我个人认为不应该是代码抄错的原因)
是不是我因为n太大导致递归调用函数的次数太多,所以抛出异常了?
ps:我还发现,我运行多次的时候,n对应可以运行的值都是不稳定的,有的时候n=200话可以正常运行,有的时候n=150就抛出异常了。
写回答
1回答
-
尝试一下使用课程的官方代码,在你的环境下运行,看是否也有相同的问题?如果没有问题,仔细检查一下,自己的代码哪里是不是有问题?
课程的官方代码可以参考课程的官方github,传送门:https://github.com/liuyubobobo/Play-with-Data-Structures
如果访问github有困难,也可以使用慕课网内的课程github,传送门:https://git.imooc.com/coding-207/coding-207
加油!:)
232018-12-25
相似问题