BFS on a graph (adjacency list)?
Short answer: void BFS(Dictionary<int, List<int>> graph, int start) { var visited = new HashSet<int>(); var queue = new Queue<int>(); queue.Enqueue(start); visited.Add(start); while (queue.Count > 0) { int node = queue.Dequeue(); Console.WriteLine(node); foreach (var neighbor in graph[node]) { if (!visited.Contains(neighbor)) { visited.Add(neighbor); queue.Enqueue(neighbor); } } } } Explanation: Classic BFS using a queue and…
Example code
void BFS(Dictionary<int, List<int>> graph, int start) { var visited = new HashSet<int>();
var queue = new Queue<int>(); queue.Enqueue(start); visited.Add(start); while (queue.Count > 0) { int node = queue.Dequeue(); Console.WriteLine(node); foreach (var neighbor in graph[node]) {
if (!visited.Contains(neighbor)) { visited.Add(neighbor); queue.Enqueue(neighbor); }
}
}
} Explanation: Classic BFS using a queue and visited set.
Real-world example (ShopNest)
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png