当前位置: 首页 > news >正文

二叉树的广度优先搜索(层次遍历)

目录

定义

层序遍历的数据结构

实现过程简述

具体代码


定义

层序遍历就是从左到右一层一层地遍历二叉树。

层序遍历的数据结构

层序遍历需要借用一个辅助数据结构实现,由于队列具有先进先出的特性,符合一层一层遍历的逻辑,而栈先进后出更适合模拟深度优先遍历(递归)。

实现过程简述

首先如果根节点不为空,就将根节点放入队列里。然后设置循环,循环结束条件为队列为空(这样就可以保证遍历完二叉树中的每一个节点)。循环体里记录每层的节点数量,并设置一个节点指针保存队列首元素(以便后续使用),将首元素的值放入一个一维数组中,然后弹出首元素。使用节点指针将该节点的左子节点和右子节点放入队列。一层结束将一维数组push进结果数组(二维数组)里。遍历完毕返回结果数组。

具体代码

class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> que;vector<vector<int>> result;if(root != nullptr) que.push(root);while(!que.empty()) {int size = que.size();vector<int> vec;while(size--) {TreeNode* node = que.front();que.pop();vec.push_back(node->val);if(node->left) que.push(node->left);if(node->right) que.push(node->right);}result.push_back(vec);} return result;}
};

相关文章:

二叉树的广度优先搜索(层次遍历)

目录 定义 层序遍历的数据结构 实现过程简述 具体代码 定义 层序遍历就是从左到右一层一层地遍历二叉树。 层序遍历的数据结构 层序遍历需要借用一个辅助数据结构实现&#xff0c;由于队列具有先进先出的特性&#xff0c;符合一层一层遍历的逻辑&#xff0c;而栈先进后出…...

AU音频重新混合音频,在 Adobe Audition 中无缝延长背景音乐,无缝缩短BGM

导入音频&#xff0c;选中音频&#xff0c;并且点 New Multitrack Session 的图标 设计文件名和存储路径&#xff0c;然后点 OK 点 Essential Sound 面板点 Music &#xff08;如果没有这个面板 点菜单栏 Windows > Essential Sound 调出来&#xff09; 点 Duration 展…...

11-Django项目--Ajax请求二

目录 模版: demo_list.html perform_list.html 数据库操作: 路由: 视图函数: Ajax_data.py perform.py 模版: demo_list.html {% extends "index/index.html" %} {% load static %} # 未实现修改,删除操作{% block content %}<div class"container…...

代码评审——Java占位符%n的处理

问题描述 在软件开发项目中&#xff0c;特别是在处理动态内容生成与呈现至前端界面的过程中&#xff0c;正确运用占位符以确保文本完整性和数据准确性显得尤为重要。不当的占位符管理不仅可能导致语法错误或逻辑混乱&#xff0c;还会引发一系列隐蔽的问题&#xff0c;这些问题…...

超低排放标准

据朗观视觉小编了解发现&#xff0c;超低排放标准作为衡量一个行业或企业环保水平的重要指标&#xff0c;越来越受到社会各界的关注。本文将深入探讨超低排放标准的内涵、实施意义以及未来展望。 一、超低排放标准的定义 超低排放标准&#xff0c;是指在特定工业生产过程中&am…...

Day15 —— 大语言模型简介

大语言模型简介 大语言模型基本概述什么是大语言模型主要应用领域大语言模型的关键技术大语言模型的应用场景 NLP什么是NLPNLP的主要研究方向word2vecword2vec介绍word2vec的两种模型 全连接神经网络神经网络结构神经网络的激活函数解决神经网络过拟合问题的方法前向传播与反向…...

使用了CDN,局部访问慢,如何排查

如果是局部访问慢&#xff0c;则可从如下角度查看 是否DNS设置错误导致&#xff1f; 个别用户可能存在local DNS设置错误&#xff0c;导致出现跨地域或跨运营商访问。因为CDN的权威DNS是基于用户请求的localDNS来判断所属的地区和运营商&#xff0c;从而将请求引导至对应最近…...

谈谈SQL优化

SQL优化是数据库性能优化中的关键环节&#xff0c;旨在提高查询执行的效率和响应速度。下面是一些常见的SQL优化技巧和策略&#xff0c;涵盖索引、查询设计、表结构设计等方面&#xff1a; 1. 索引优化 创建索引&#xff1a;为常用查询的过滤条件&#xff08;WHERE 子句&…...

力扣随机一题 6/26 哈希表 数组 思维

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 题目一&#xff1a; 2869.收集元素的最少操作次数【简单】 题目&#xff…...

自动化办公04 使用pyecharts制图

目录 一、柱状图 二、折线图 三、饼图 四、地图 1. 中国地图 2. 世界地图 3. 省会地图 五、词云 Pyecharts是一个用于数据可视化的Python库。它基于Echarts库&#xff0c;可以通过Python代码生成各种类型的图表&#xff0c;如折线图、柱状图、饼图、散点图等。 Pyecha…...

【Elasticsearch】在es中实现mysql中的FIND_IN_SET查询条件

需求场景: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条、2推荐、3热点、4图文等等 。 商品表中有一个type字段,储存的事商品类型例如:1.热销单品,2.品类TOP10,3.销量榜TOP10等等 它的type字段值很有可能是1,2,3,4 在mysql中实现语句 select * from produc…...

内网一键部署k8s-kubeshpere,1.22.12版本

1.引言 本文档旨在指导读者在内网环境中部署 Kubernetes 集群。Kubernetes 是一种用于自动化容器化应用程序部署、扩展和管理的开源平台&#xff0c;其在云原生应用开发和部署中具有广泛的应用。然而&#xff0c;由于一些安全或网络限制&#xff0c;一些组织可能选择在内部网络…...

Python数据分析第一课:Anaconda的安装使用

Python数据分析第一课&#xff1a;Anaconda的安装使用 1.Anaconda是什么&#xff1f; Anaconda是一个便捷的获取包&#xff0c;并且对包和环境进行管理的虚拟环境工具,Anaconda包括了conda、Python在内的超过180多个包和依赖项 简单来说&#xff0c;Anaconda是包管理器和环境…...

数据结构——

1. 什么是并查集&#xff1f; 在计算机科学中&#xff0c;并查集&#xff08;英文&#xff1a;Disjoint-set data structure&#xff0c;直译为不数据结构交集&#xff09;是一种数据结构&#xff0c;用于处理一些不交集&#xff08;Disjoint sets&#xff0c;一系列没有重复元…...

微信小程序建议录音机

在小程序中实现录音机功能&#xff0c;可以通过使用小程序提供的wx.getRecorderManager() API来获取录音管理对象&#xff0c;然后使用这个对象的start()方法来开始录音&#xff0c;使用stop()方法来停止录音&#xff0c;并使用onStop()方法来监听录音的结束。以下是一个简单的…...

双指针:移动零

题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 乍一看有点难度&#xff0c;但也是快慢指针的模板。和26. 删除有序数组中的重复项类似&#xff0c;只不过多了一步填充0。 class Solution {public int removeDuplicates(int[] nums) {int fast 1,slow 1;wh…...

图像亮度和对比度的调整

在网上找了很多图像亮度的调整算法&#xff0c;下面是其中一种&#xff0c;可以通过条形框进行调整&#xff0c;并实时的查看对应参数值后的效果。 图像亮度处理公式: y [x - 127.5 * (1 - B)] * k 127.5 * (1 B); x 是输入像素值 y 是输出像素值 B 是亮度值&#xff0c; …...

Linux加固-权限管理_chattr之i和a参数

一、参数i i:如果对文件设置了i属性&#xff0c;不允许对文件进行删除、改名&#xff0c;也不能添加和修改数据&#xff1b;如果对目录设置了i属性&#xff0c;那么只能修改目录下文件的数据&#xff0c;但不允许建立和删除文件。&#xff08;相当于把文件给锁住了&#xff0c;…...

windows10/win11截图快捷键 和 剪贴板历史记录 快捷键

后知后觉的我今天又学了两招&#xff1a; windows10/win11截图快捷键 按 Windows 徽标键‌ Shift S。 选择屏幕截图的区域时&#xff0c;桌面将变暗。 默认情况下&#xff0c;选择“矩形模式”。 可以通过在工具栏中选择以下选项之一来更改截图的形状&#xff1a;“矩形模式”…...

上海计算机考研避雷,25考研慎报

上大计算机一直很热 408考研er重来没有让我失望过&#xff0c;现在上大的专业课是11408&#xff0c;按理说&#xff0c;这个专业课的难度是很高的&#xff0c;但是408er给卷出了新高度&#xff0c;大家可以去上大官网看看今年最新的数据&#xff0c;我也帮大家统计了24年最新的…...

主动学习在可修复硬件系统可靠性分析中的应用

1. 可修复硬件系统可靠性分析的挑战与机遇 在航空航天、医疗设备和军事装备等关键领域&#xff0c;硬件系统的可靠性直接关系到人员安全和任务成败。传统可靠性分析方法面临三大核心挑战&#xff1a; 数据收集成本高 &#xff1a;全系统测试需要拆卸设备&#xff0c;每次维护…...

NotebookLM心理学研究辅助:为什么92%的心理学博士生漏用了“语义锚定”功能?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM心理学研究辅助 NotebookLM 是 Google 推出的基于用户上传文档进行深度语义理解的 AI 助手&#xff0c;其“以你的资料为中心”的设计范式特别契合心理学研究中对原始文献、访谈转录稿、实验…...

宝塔面板 SyntaxError: invalid syntax 报错 完美修复教程

宝塔面板 SyntaxError: invalid syntax 报错 完美修复教程 一、故障现象 宝塔面板版本&#xff1a;11.7.0 系统&#xff1a;Debian GNU/Linux 10 (buster) x86_64 Python3.7.9 访问网站列表/站点管理报错&#xff1a; SyntaxError: invalid syntax /www/server/panel/class/pan…...

企业级AI智能体评测平台AgentLab:构建、评估与部署实战指南

1. 项目概述&#xff1a;当AI遇上企业级自动化最近在折腾企业级自动化流程时&#xff0c;发现了一个非常有意思的开源项目&#xff0c;叫AgentLab。它来自大名鼎鼎的ServiceNow&#xff0c;没错&#xff0c;就是那个做IT服务管理&#xff08;ITSM&#xff09;和企业工作流平台的…...

考古现场数据智能治理新范式(NotebookLM+地层学语义建模深度解析)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;考古现场数据智能治理新范式&#xff08;NotebookLM地层学语义建模深度解析&#xff09; 在田野考古数字化进程中&#xff0c;传统地层记录存在碎片化、非结构化与语义断层三大瓶颈。NotebookLM 作为基…...

C语言文件长度获取:fseek/ftell与stat方法详解与实战对比

1. 项目概述&#xff1a;为什么文件长度获取是基础却关键的操作在C语言开发中&#xff0c;处理文件是家常便饭。无论是读取配置文件、解析日志&#xff0c;还是处理二进制数据&#xff0c;我们经常需要知道一个文件到底有多大。这个看似简单的需求——“获取文件长度”——背后…...

如何利用awesome-clothed-human资源构建你自己的虚拟试穿系统?

如何利用awesome-clothed-human资源构建你自己的虚拟试穿系统&#xff1f; 【免费下载链接】awesome-digital-human Digital Human Resource: 2D/3D/4D Human Modeling, Avatar Generation & Animation, Clothed People Digitalization, Virtual Try-On, etc. 项目地址: …...

PromptHub:本地优先的提示词管理工具,提升AI应用开发效率

1. 项目概述与核心价值 最近在折腾AI应用开发&#xff0c;特别是基于大语言模型&#xff08;LLM&#xff09;的智能体&#xff08;Agent&#xff09;和自动化流程时&#xff0c;我发现一个普遍存在的痛点&#xff1a; 提示词&#xff08;Prompt&#xff09;的管理与复用 。无…...

从开源哲学到工程实践:探索Uncomfortable-filagree112/OpenViking的代码美学

1. 项目概述&#xff1a;当开源遇上“不适”的优雅最近在GitHub上闲逛&#xff0c;发现了一个名字相当有意思的项目&#xff1a;Uncomfortable-filagree112/OpenViking。初看这个标题&#xff0c;一股强烈的反差感扑面而来——“Uncomfortable”&#xff08;不适&#xff09;、…...

[特殊字符] CSS 图片变黑变暗的 3 种方案,总有一款适合你!

最近在做项目的时候&#xff0c;遇到一个很常见的需求&#xff1a;如何让图片颜色更黑一点&#xff0c;或者加一层黑色透明度遮罩&#xff1f; 很多人第一反应是用 filter: brightness(0%)&#xff0c;但其实这个方法有不少坑。今天就来聊聊 3 种靠谱的 CSS 方案&#xff0c;从…...