今天小编给大家分享一下js广度优先遍历怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
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广度优先遍历怎么实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注天达云行业资讯频道。