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
热门推荐
汉桓帝和汉灵帝的能力怎么样?哪个昏庸?
肺癌早期发现指南:从筛查到生活方式调整
你的睡眠,可能和吃的东西有关!
告别失眠!这些食物助你快速入睡,改善睡眠质量(组图)
5款高強度燃脂瘦身訓練推介:間歇訓練/墊上普拉提/泰拳
每晚淡盐水坐浴的好处
98岁盛奶奶走了,她的遗愿是……
足球青训从“做梦”开始
张雪峰谈针灸推拿学专业就业前景、考研方向、优势与劣势
2024河南新乡景区有哪些景点推荐(附景点名单)
美国海啸预警与监测体系:从1992年加州地震到DART项目的建立
孩子六月多,有时候嘴唇发紫
嘴唇发紫什么原因?一文解答
大盘缩量回调!但短线投资者期待的一幕,今天出现了
邓太后:二十五岁执掌天下,挽救汉朝江山
安定剂的主要作用和功效是什么
代谢相关脂肪肝病的健康风险
人类情感与AI的对话:机器能理解我们的情感吗?
世界海啸日|掀起滔天巨浪的海啸,为何在我国并不多见?
如何从饮食中摄取叶黄素
2025年,冥想不再是小众的“秘密武器”!
国家队教练与足球过人技巧(提升国家队技术水平的关键)
欠信用卡超过5万会怎么样 如何解决
蜡笔小新日语名字怎么读
韩剧犯罪心理女杀人犯:解析其在电视剧中的形象与现实法律关联
催眠的科学原理:你真的了解催眠吗?
饭后锻炼身体应在饭后多长时间
儿童工笔小猫绘画教程:掌握细节与神韵
身份证被别人盗用涉嫌诈骗怎么办
世预赛!澳大利亚5-1印尼,全场产生三个不可思议,国足双喜临门