深度遍历 和 广度遍历

2023-11-19

深度dfs

用到了递归

先把根节点,输出根节点,然后遍历根节点的孩子

const fun1 = (root)=>{
    console.log(root.val)
    root.children.forEach(fun1)
}
fun1(tree)

广度遍历

每次遍历的是离根节点最近的,用到了队列

首先根节点入队,然后第一个节点出队shift,输出的顺序就是bfs结果。获得这个节点的孩子,然后遍历他的孩子,push到队列中,

根节点入队

队首出队(存储到一个数组中,为最后的结果

队首的孩子入队,

一直重复。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度遍历 和 广度遍历 的相关文章

随机推荐

  • eNSP实验一(DHCP服务器)

    实验要求 四个电脑自动获取IP Client可以通过域名访问dhcp服务器 实验步骤及结果 第一步 1 打开eNSP软件 新建拓扑 搭建好所有设备 构建一个简单的局域网 第二步 启动所有设备 第三步 规划IP地址 第四步 点击路由器进入配置
  • 空指针异常:trim(),isEmpty()造成

    Trim 对空的再使用会报空指针异常 空字符串是 会创建一个对象 内容是 有内存空间 而null 不会创建对象 没有内存空间 长度为0 这时候再用isEmpty 的会报 空指针异常 尽量使用 null if role getId null
  • 性能测试知多少

    目录 1 性能测试基本理论 1 1 性能测试概念 1 1 1 什么是性能 1 1 2 什么是性能测试 1 2 性能测试基本内容 1 2 1 性能测试 1 2 2 负载测试 1 2 3 压力测试 1 2 4 稳定性测试 1 3 性能测试常用名
  • 二叉树的各种操作函数

    include source h 满与空的问题 计算个数时 判断rear和front的大小1 2 空一个 void InitQueue Queue u u front 0 u rear 0 int sizeQue Queue u int s
  • 测试中常说的持续集成是什么?有什么好处?

    一 持续集成流程 正式接收开发转过来的包之前 先从 svn 上下载代码 给它做次静态代码检查 然后编译打包 可以在开发的服务器或者自己的服务器运行单元测试文件 单元测试后 没用什么大的 bug 再部署到测试环境中 测试环境部署完成后先做冒烟
  • 15 个高级 Java 多线程面试题及回答

    在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分 如果你想获得任何股票投资银行的前台资讯职位 那么你应该准备很多关于多线程的问题 在投资银行业务中多线程和并发是一个非常受欢迎的话题 特别是电子交易发展方面相关的 他们会问面试
  • 【新手基础】-域内域信息搜集

    查看当前权限 Whomai 本地普通用户 win 2008 user 本地管理员用户 win7 x64 test administrator 域内用户 hacker administrator 获取域id sid 域id是唯一id Whoa
  • 数据仓库进阶 《阿里大数据之路》第二篇 数据模型篇 (完整版)

    第8章 大数据领域建模综述 此文章为学习笔记 有兴趣的小伙伴可以根据以下指引获取更多 学习内容链接如下 视频 一起啃书 阿里大数据之路数据仓库建模基础理论研读 已完结 哔哩哔哩 bilibili 书籍 阿里大数据之路 8 1 为什么需要数据
  • 【C/C++】浮点数的比较

    本文为 C C 学习总结 讲解浮点数的比较 浮点数经过大量运算后会损失精度 对比较操作带来较大困扰 因为 C 中的 操作需要完全相同时才能判定为 true 我们引入一个极小数 eps 修正误差 比较运算符 若一个数 a 落在 b eps b
  • 网络环境下促进有效学习发生的策略

    1 构建良好的网络学习环境 学习者在网络中的学习 必须在一定的 适合学习的环境中进行 构建和谐和 宽松的学习环境是激发学习者有效学习的前提 在这样的环境中 应该有学习者学 习所需要的一些网络资源 如各种教学网站 电子期刊等 也需要有一定的认
  • nginx之proxy_pass代理后端https请求

    本文转载自 https my oschina net foreverich blog 1517128 前言本文解释了怎么对nginx和后端服务器组或代理服务器进行加密http通信 内容提纲前提条件获取SSL服务端证书获取SSL客户端证书配置
  • MySQL Error Code: 2013. Lost connection to MySQL server during query解决

    如果你出现了这个问题 先尝试判断你是哪种情况 你的SQL语句需要执行很久 超过默认的时长 gt 方案1 你的SQL语句很简单 但就是执行不了 gt 方案2 解决方法1 尝试打开设置调整超时时间后重试 解决方法2 如果你在尝试修改空表都发生了
  • 2. Java枚举(enum)

    Java枚举是一个特殊的类 一般表示一组常量 使用enum关键字来定义 各个常量使用逗号 来分割 实例 public enum BizErrorInfo USER NOT FOUND codeValue 1004 message 用户不存在
  • Springboot +mybatis-plus 实现公共字段自动填充

    本文讲述了在SpringBoot 中使用Mybatis Plus如何实现一个自动填充功能 目录 一 应用场景 二 代码实现步骤 1 建数据库表 t user 2 创建spring boot项目集成mybatis plus实现字段自动填充 2
  • 少儿机器人编程主要使用的语言有啥

    少儿机器人编程主要使用的语言 说起孩子的学习 想必家长们都是非常的有发言权的 很多的家长在培养孩子的学习方面也可以说相当的耐心的 他们会给孩子选择一些能够有利于孩子成长的课程 就拿现在很多的家长想要孩子去学习机器人编程的课程来说 有的家长对
  • PHP开源大全

    WordPress PHP开源 博客Blog WordPress是最热门的开源个人信息发布系统 Blog 之一 基于PHP MySQL构建 WordPress提供的功能包括 1 文章发布 分类 归档 2 提供文章 评论 分类等多种形式的RS
  • MySQL数据库数据导出出现1290(secure_file_priv)错误解决方法

    目录 解决方案 测试效果 解决方案 secure file priv是用来限制mysql数据库导出的位置 目录 算是一直安全保护系统 我们可以去通过show variables like secure 这个指令去查看secure file
  • 2021-05-08记录一次最新版小红书逆向细节

    预备工具 ida7 5 piexl 手机 jadx jeb 某书是有TracerPid反调试 先过反调试 这有两个方法 1 Frida hook fopen 过滤 2 修改安卓源码去掉TracerPid 1 Frida hook脚本 fun
  • Python入门到实战(十一)无监督学习、KMeans、KNN、实现图像分割、监督学习VS无监督学习

    Python入门到实战 十一 无监督学习 KMeans KNN 实现图像分割 监督学习VS无监督学习 无监督学习unsupervised learning 特点 应用 K均值聚类 核心流程 核心公式 KMeans VS KNN 实战 KMe
  • 深度遍历 和 广度遍历

    深度dfs 用到了递归 先把根节点 输出根节点 然后遍历根节点的孩子 const fun1 root gt console log root val root children forEach fun1 fun1 tree 广度遍历 每次遍