Explore Library
Code QuizAdvanced

Visited Set To Avoid Revisits

Identify why this BFS still processes nodes multiple times.

Codejavascript
function bfs(graph, start) {
  const visited = new Set();
  const queue = [start];
  const order = [];
  while (queue.length > 0) {
    const node = queue.shift();
    order.push(node);
    for (const next of graph[node]) {
      queue.push(next);
    }
    visited.add(node);
  }
  return order;
}

What is the bug that lets nodes get revisited?