预订遍历四叉树

时间:2016-11-01 17:51:37

标签: java recursion tree tree-traversal quadtree

所以我知道对于二叉树来说,预先遍历遍历的一般方法就像这样

:func:`atest`

但是我无法试图绕过四叉树的前序遍历。我试图找到一些资源,但空手而归。任何提示?

1 个答案:

答案 0 :(得分:1)

您发布的代码是针对二叉树的帖子顺序遍历。对于四叉树,您只需要访问所有孩子而不是左右。

为简单起见,我假设TreeNode定义了一个方法children(),该方法返回一个明确定义的节点子节点的迭代器或List订购。如果这不可用,只需使用任何可用的机制迭代孩子。

void displayPreOrder(TreeNode node)
{
    if(node != null)
    {
        // visit the root first for pre-order
        System.out.println(node.value);
        for (TreeNode child : node.children()) {
            displayPreorder(child)
        }
    }
}

(P.S。这适用于二叉树,给定正确的迭代机制。)