• 技术文章 >Web开发 >JavaScript

    js广度优先遍历如何实现

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

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

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

    实例

    //图的广度优先遍历
    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学习网