Mid Coding

BFS on a graph (adjacency list)?

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.

More from C# Programming Tutorial

All questions for this course