当前位置: 首页 > Web前端 > JavaScript

树的深度广度优先遍历

时间:2023-03-26 21:06:36 JavaScript

树结构consttree={val:'a',children:[{val:'b',children:[{val:'d',children:null},{val:'e',children:null}]},{val:'c',children:[{val:'f',children:null},{val:'g',children:null}]}]}1.深度优先遍历(DFS)访问根节点对根节点的子节点执行DFSconstdfs=(root)=>{if(!root.val)returnconsole.log(root.val)//访问根节点if(root.children)root...一个一个访问队列的孩子,重复步骤2和3,直到队列为空constbfs=(root)=>{constqueue=[root]//1.新建一个队列,将根节点入队while(queue.length){//4.队列为空,跳出循环consthead=queue.shift()//2、队头console.log(head.val)//2、访问队头if(head.children){//3、队头Children依次入队head.children.forEach(child=>queue.push(child))}}}bfs(tree)