二叉树递归的思想

本文深入探讨了二叉树的递归思想,通过实例解析如何运用递归解决二叉树遍历、查找和构造等核心问题,帮助读者掌握这一重要的数据结构操作技巧。
摘要由CSDN通过智能技术生成
/*
当遇到关于树的问题。先思考两个问题:
1.能确定一些参数,从该节点本身出发去解决问题吗
2.能够使用这些参数和节点的值确定出什么是应该传递给子节点的值吗
如果两个问题都是肯定,那么采用自顶向下的递归。
否则,如果是对于树中的任意节点,知道了子节点的结果,怎么确定出该节点的结果。就是自底向上递归的思路。

两种方法,自顶向下递归和自底向上递归。
自顶向下递归:父方法调用父方法,通过子方法判断是否达到剪枝条件。
自底向上递归:子方法调用子方法,父方法只调用一次子方法。
采用自顶向下递归,计算子树时存在大量冗余,但是自底向上计算,每个子树只会计算一次,可以递归先计算当前节点的子节点,然后再通过子节点判断当前节点是否满足条件,可以消除第一种方法自顶向下递归计算子树时产生的冗余。
 */
package primary_class;
public class Test{
   
    //自顶向下递归求二叉树的深度
    public int maxDepth;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值