测试删除二叉树中的最小元素对应的节点出现了小问题

来源: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回答

liuyubobobo

2018-12-25

尝试一下使用课程的官方代码,在你的环境下运行,看是否也有相同的问题?如果没有问题,仔细检查一下,自己的代码哪里是不是有问题?


课程的官方代码可以参考课程的官方github,传送门:https://github.com/liuyubobobo/Play-with-Data-Structures


如果访问github有困难,也可以使用慕课网内的课程github,传送门:https://git.imooc.com/coding-207/coding-207


加油!:)

2
3
liuyubobobo
回复
慕仰2548221
正常的,继续加油!:)
2018-12-25
共3条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程