二叉树中的递归遍历整个树

jdg4fx2g  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(327)

我在学习二叉树。我在网上看到了一个遍历整个二叉树的代码。这是我得到的密码:''

public void showAll(Node node)
{
    Node parent = node;
    if(parent != null)
    {
        System.out.println(" " + parent.person);
        showAll(parent.leftChild);
        showAll(parent.rightChild);
    }
}

'''
我不明白的是这个函数如何打印正确的子对象?根据代码,每次调用函数时都会打印left child。代码永远不会到达正确的子级。

u0sqgete

u0sqgete1#

试着用有5个节点的二叉树来运行代码。然后你可能就会明白了。即使这样,如果您面临问题,也要了解一点编译器如何调用函数或stacktrace实际上是什么。

2cmtqfgy

2cmtqfgy2#

这是一个后序遍历的教科书实现。也被一些人称为“自下而上”遍历。

对于每个迭代,打印最左边的节点,然后打印最右边的节点。如果父节点为空,则树超过最高节点,即算法已完成。

相关问题