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

图的深度和广度优先遍历

时间:2023-03-27 16:50:09 JavaScript

图结构constgraph={0:[1,2],1:[2,4],2:[0,3],3:[],4:[]}深度优先constdfs=(root)=>{constvisited=newSet()constfn=(n)=>{console.log(n)visited.add(n)graph[n].forEach(c=>{if(!visited.has(c)){fn(c)}})}fn(root)}dfs(0)广度优先constbfs=(root)=>{constvisited=newSet()constq=[root]visited.add(root)while(q.length){constn=q.shift()console.log(n)graph[n].forEach(c=>{if(!visited.has(c)){q.push(c)visited.add(c)}})}}bfs(0)