Skip to main content

BFS

Breadth First Search


function bfs(adj)
{
  var V = adj.length;
  var s = 0;
  var visited = Array(V).fill(false);
  var ans = [];

  var queue = [];
  visited[s] = true;
  queue.push(s);

  while(queue.length != 0)
  {
    s = queue[0];
    ans.push(s);
    queue.shift();

    for(var i = 0; i != adj[s].length; ++i)
    {
      if (visited[adj[s][i]] === false)
      {
        visited[adj[s][i]] = true;
        queue.push(adj[s][i]);
      }
    }
  }
  return ans;
}