Implementation for BFS
The code implementation for breadth-first search is as follows:
xxxxxxxxxx
83
bfs(1);
let graph;
​
const numOfNodes = 7;
let visited = new Array(numOfNodes);
​
const bfs = (node) => {
const queue = [];
​
for (let i = 0; i < visited.length; i++) {
visited[i] = false;
}
​
visited[node] = true;
queue.push(node); // start with root
​
while (queue.length) {
let currNode = queue.shift(); // process a node
​
console.log(`visiting ${currNode}`);
for (let j = 0; j < graph[currNode].length; j++) {
if (graph[currNode][j] === 1 && visited[j] === false) {
// if there's a connection, visit it and record it
visited[j] = true;
queue.push(j);
}
}
}
};
​
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment