LeetCode练题六:dfs与bfs

(1)定义树这种数据结构

javascript 复制代码
// 先定义数据结构
const root = {
    val: 1
    children: {
        {
            val:2
            children: {
                {
                    val:4
                },
                {
                    val:5
                }
            }   
        },
        {
            val:3
            children: {
                {
                    val:6
                },
                {
                    val:7
                }
            }
        }
    }
}

(2)dfs深度优先遍历:就是一直让

javascript 复制代码
const dfs = (root) => {
    console.log(root.val)
    root.children.forEach(dfs)
}

(3)bfs广度优先遍历:就是不断出队,然后把自己的孩子放进去

javascript 复制代码
const bfs = (root) => {
    const q = [root]
    while(q.length > 0) {
        const n = q.shift()
        console.log(n)
        n.children.forEach(n => {
            q.push(n)
        })
    }
}
相关推荐
go不是csgo9 分钟前
从模板到五道 LeetCode:完全背包的 Golang 教学笔记
笔记·leetcode·golang
keep intensify16 小时前
最长有效括号
算法·leetcode·动态规划
CoderYanger17 小时前
A.每日一题:1979. 找出数组的最大公约数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
INGNIGHT21 小时前
528.按权重随机选择(前缀和&二分法)加权负载均衡
算法·leetcode
runafterhit21 小时前
python基础语法命令(C程序员刷leetcode)
c语言·python·leetcode
青山木21 小时前
Hot 100 --- 全排列
java·数据结构·算法·leetcode·深度优先
稚南城才子,乌衣巷风流1 天前
长链剖分(Long Chain Decomposition)算法详解
算法·深度优先·图论
玖玥拾1 天前
LeetCode 13 罗马数字转整数
笔记·算法·leetcode
稚南城才子,乌衣巷风流1 天前
树链剖分(树剖)算法详解:从原理到实现
算法·深度优先
闪电悠米1 天前
力扣hot100-48.旋转图像-转置翻转详解
算法·leetcode·职场和发展