Mid From PDF Coding C# Coding Interview

Print nodes at a specific level (BFS)?

void PrintNodesAtLevel(Dictionary<int, List<int>> graph, int start,

int targetLevel) {
var visited = new HashSet<int>();
var queue = new Queue<(int node, int level)>();

Follow on:

queue.Enqueue((start, 0));

visited.Add(start);

while (queue.Count > 0) {

var (node, level) = queue.Dequeue();
if (level == targetLevel) {

Console.WriteLine(node);

}
if (level > targetLevel) break;
foreach (var neighbor in graph[node]) {
if (!visited.Contains(neighbor)) {

visited.Add(neighbor);

queue.Enqueue((neighbor, level + 1));

}
}
}
}

Explanation:

BFS traversal with level tracking; print nodes at the requested level.

More from C# Programming Tutorial

All questions for this course
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details