N叉树遍历基础

raw/articles/2026/05/N叉树遍历基础

⚠️ 内容不完整 - 原文抓取被截断,缺少递归遍历(DFS)和层序遍历(BFS)的具体代码实现部分

相关题目

LeetCode 力扣 遍历类型
589. N-ary Tree Preorder Traversal 589. N 叉树的前序遍历 前序遍历(DFS)
590. N-ary Tree Postorder Traversal 590. N 叉树的后序遍历 后序遍历(DFS)
429. N-ary Tree Level Order Traversal 429. N 叉树的层序遍历 层序遍历(BFS)

前置知识

核心要点

N叉树定义

与二叉树对比:

  • 二叉树节点:最多有2个子节点(left, right)
  • N叉树节点:有任意个子节点(children 列表)
// 二叉树节点
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
}

// N叉树节点
class Node {
    int val;
    List<Node> children;
}

一句话总结:多叉树结构是二叉树结构的延伸,二叉树是特殊的多叉树。多叉树的遍历就是二叉树遍历的延伸。

森林(Forest)

定义:森林是多个多叉树的集合(单独一棵多叉树也是一个特殊的森林)。

代码表示:

List<Node> forest;  // 多个多叉树的根节点列表

遍历方法:只需对每个根节点分别进行 DFS/BFS 遍历,即可遍历森林的所有节点。

应用场景:在 并查集(Union Find)算法中,会同时持有多棵多叉树的根节点,这些根节点的集合就是一个森林。

遍历方法

N叉树遍历同样分为两种:

  1. 递归遍历(DFS):前序遍历、后序遍历
  2. 层序遍历(BFS)

⚠️ 原文在 "## 递归遍历(DFS)" 章节开始后内容被截断,具体代码实现缺失。 预计包含:前序遍历框架、后序遍历框架、与二叉树遍历的对比。

相关概念

相关实体


Interactive Graph