N 叉树的层序遍历详解与代码实现
创作时间:
作者:
@小白创作中心
N 叉树的层序遍历详解与代码实现
引用
CSDN
1.
https://m.blog.csdn.net/yq20210216/article/details/145608598
N叉树的层序遍历是算法和数据结构中的一个重要概念,广泛应用于计算机科学和软件工程领域。本文将详细介绍如何通过广度优先搜索(BFS)实现N叉树的层序遍历,并提供完整的代码示例。
1.题目
给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。
示例 1:
**输入:**root = [1,null,3,2,4,null,5,6]
**输出:**[[1],[3,2,4],[5,6]]
示例 2:
**输入:**root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
**输出:**[[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]]
2.思路
层序遍历,BFS
3.代码
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;
Node() {}
Node(int _val) {
val = _val;
}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public:
// 该函数用于对 N 叉树进行层序遍历,返回每一层节点值组成的二维向量
vector<vector<int>> levelOrder(Node* root) {
// 用于存储最终的层序遍历结果,是一个二维向量,每一行代表树的一层
vector<vector<int>> ret;
// 如果根节点为空,说明树为空,直接返回空的结果向量
if(!root) return ret;
// 定义一个队列,用于辅助进行层序遍历,队列中存储的是节点指针
queue<Node*> q;
// 将根节点加入队列,作为层序遍历的起始点
q.push(root);
// 当队列不为空时,继续进行层序遍历
while(q.size()){
// 获取当前队列的大小,这个大小代表了当前层的节点数量
int size = q.size();
// 用于存储当前层的节点值
vector<int> tmp;
// 遍历当前层的所有节点
for(int i = 0; i < size; ++i){
// 获取队列头部的节点
Node* p = q.front();
// 将队列头部的节点从队列中移除
q.pop();
// 将当前节点的值加入到存储当前层节点值的向量中
tmp.push_back(p->val);
// 遍历当前节点的所有子节点
for(int j = 0; j < p->children.size(); ++j)
// 将当前节点的子节点加入队列,以便后续处理
q.push(p->children[j]);
}
// 将存储当前层节点值的向量加入到最终结果向量中
ret.push_back(tmp);
}
// 返回最终的层序遍历结果
return ret;
}
};
本文原文来自CSDN
热门推荐
《乌合之众》:人在群体中智商会降低,要想保持清醒,请牢记这三条!
管理咨询项目怎么选专业
GDP是什么意思?国内生产总值的含义与重要性
餐桌上的健康小贴士:粗粮怎么吃才健康?
世界粮食日:关注粗粮,呵护健康
中药退热的方子
百亿哪吒背后的动画新王光线:如何重塑动画电影“肉身”
胃不好的人群应该避免食用哪些食物?
《资治通鉴》:商鞅的变法与改革:从卫鞅到商君的传奇人生
商鞅被车裂:变法成功的代价还是失败的象征?
人工智能时代,高职教育纷纷布局
王好古的师承及其在中医史上的地位
张学良晚年回忆父亲张作霖:他是个好父亲,比我聪明,也比我厉害
张作霖制定了10条家规,结果夫人成尼姑,妻弟被枪决
16管是几分管?管道规格详解与应用指南
如何评估和应对股票减持的影响
为什么有的孩子没朋友?培养孩子的社交能力,这5件事很关键
快手与B站,哪个平台更适合短视频创作者?
星星:塔罗牌中的沉思光芒
经常紧张、害怕、恐惧、担心,你可能患上了焦虑障碍
除了不能马上飞行,你还知道哪些潜水后不能做的事情?
表面间隔:重要性以及如何最大化它
柿子醋的功效与作用
如何面对多愁善感的情绪(降低情绪负荷)
晚上几点睡对减肥有帮助
荞麦面的营养价值与减肥效果:真相揭秘
黄膘牛排的魅力:冬季草原美味,让健身爱好者和美食家都无法抵挡
成语“翻手云覆手雨”详解
《千里江山图》:千年文化与历史的交织画卷
南宁市依托生态优势大力发展生态康养旅游