graph.js 创建一个js文件用于表示图这个类型,这个对象的键为节点,所对应的值为这个节点所连接的节点。
const graph={
0:[1,2],
1:[2],
2:[0,3],
3:[3]
};
module.exports=graph;
图的深度优先遍历,(DFC)
const graph =require("./graph")
console.log(graph)
const visited=new Set();
const dfs=(n)=>{
console.log(n);
visited.add(n);
graph[n].forEach(item=>{
if(!visited.has(item)){
dfs(item);
}
})
}
dfs(2);
图的广度优先遍历,(BFC)
const graph =require("./graph")
const visited=new Set();
const q=[2];
while(q.length){
const n=q.shift();
console.log(n);
visited.add(n);
graph[n].forEach(item=>{
if(!visited.has(item)){
q.push(item);
}
})
}