在(一)中结果对比的时候,发现个奇怪的现象,就是从20384个节点开始深搜比广搜快,按算法来说,两个应该是一样的
gc的影响
再看我写的广搜里面,会有个额外的队列存储下一层的节点,因此怀疑是节点数量增多,导致触发了gc
PrintGC查看gc情况
添加了-XX:+PrintGC来打印gc信息,并且为了排除可能前者消耗内存在导致后面触发gc的情况,在每个步骤后面增加了手动调用gc,再来观察下
可以看到从1648576开始,深搜和广搜都出现不同次数的gc
public static void main(String[] args) throws Exception {
boolean printTrace = false;
TreeNode root = TreeUtils.buildCompleteTree