查找完全二叉树底层的最右节点(二):为啥深搜比广搜快这么多

查找完全二叉树底层的最右节点(一)

在(一)中结果对比的时候,发现个奇怪的现象,就是从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(201072<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值