/*
当遇到关于树的问题。先思考两个问题:
1.能确定一些参数,从该节点本身出发去解决问题吗
2.能够使用这些参数和节点的值确定出什么是应该传递给子节点的值吗
如果两个问题都是肯定,那么采用自顶向下的递归。
否则,如果是对于树中的任意节点,知道了子节点的结果,怎么确定出该节点的结果。就是自底向上递归的思路。
两种方法,自顶向下递归和自底向上递归。
自顶向下递归:父方法调用父方法,通过子方法判断是否达到剪枝条件。
自底向上递归:子方法调用子方法,父方法只调用一次子方法。
采用自顶向下递归,计算子树时存在大量冗余,但是自底向上计算,每个子树只会计算一次,可以递归先计算当前节点的子节点,然后再通过子节点判断当前节点是否满足条件,可以消除第一种方法自顶向下递归计算子树时产生的冗余。
*/
package primary_class;
public class Test{
//自顶向下递归求二叉树的深度
public int maxDepth;
二叉树递归的思想
最新推荐文章于 2023-10-14 19:19:20 发布
本文深入探讨了二叉树的递归思想,通过实例解析如何运用递归解决二叉树遍历、查找和构造等核心问题,帮助读者掌握这一重要的数据结构操作技巧。
摘要由CSDN通过智能技术生成