往来行旅才纷纭:二叉树的四大遍历方法

本文详细介绍了二叉树的前序、中序、后序遍历及广度优先遍历方法,包括递归和非递归实现,并通过实际案例解释了遍历在P2P网络、文件系统等场景的应用。此外,还提供了小米、美团和滴滴面试题的解题思路,帮助读者深化理解。
摘要由CSDN通过智能技术生成

树遍历是对树中的每个节点只访问一次的过程。我们一提到树这一数据结构,很多人首先想到的就是树的遍历。这是因为,不管是在老师讲述树这一数据结构时,还是在面试时,亦或是在实际应用中,二叉树的遍历都是反复会出现的。

我们常说二叉树这种数据结构是优雅的,抛开实用方面不谈,多种多样二叉树的遍历方法完美的展现了这一点。不同的遍历方法把树的节点展开成列表的方式,而每种遍历方法都能从树中更加直观的提取出来一些信息。通过学习不同的树的遍历方法,我们能对二叉树有一个更加深入的理解。

1. 前序遍历

前序遍历是指先访问根,然后访问子树的遍历方式。如果二叉树为空,则遍历结果为空,否则先访问根节点,然后前序遍历左子树,然后前序遍历右子树。如下图所示:

    public void Preorder(TreeNode root, List < Integer > res) {
        if (root != null) {
            res.add(root.val);
            Preorder(root.left, res);
            Preorder(root.right, res);
        }
    }

上述用递归方法来解决前序遍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值