• 技术文章 >Web开发 >JavaScript

    js广度优先遍历如何实现

    小妮浅浅小妮浅浅2021-11-17 15:13:01原创13695

    1、广度优先遍历二叉树,即按层次去遍历。

    2、新建队列,根节点入队,出队并访问队头,重复队头未访问的相邻节点2、3步,直至队列为空。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    //图的广度优先遍历

    const graph = {

      0: [1, 2],

      1: [2],

      2: [0, 3],

      3: [3],

    };

    //图的深度优先遍历

    const visited = new Set();

    visited.add(2);

    const q = [2];

    const bfs = (n) => {

      while (q.length) {

        const n = q.shift();

        console.log(n);

        graph[n].forEach((c) => {

          if (!visited.has(c)) {

            q.push(c);

            visited.add(c);

          }

        });

      }

    };

      

    bfs(2); // 2 0 3 1

    以上就是js广度优先遍历如何实现,希望对大家有所帮助。更多js学习指路:js教程

    推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

    专题推荐:js 广度优先遍历
    上一篇:js深度优先遍历的介绍 下一篇:js中快速排序如何实现

    相关文章推荐

    • js中valueOf和toString的区别• js中构造器属性的介绍• js栈的应用场景• js中的树如何理解• js中ES Module和CommonJs的区别• js作用域链是什么• js声明变量的提升• js中pop和push的比较• js中shift和unshift的对比• js如何检查是否满足条件• js数组归并的方法• js函数中arguments属性是什么• js函数中this如何使用• js中eval方法是什么• js深度优先遍历的介绍

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网