InterviewStack.io LogoInterviewStack.io

Trees and Graphs Questions

Comprehensive knowledge of tree and graph data structures and algorithms commonly tested in coding interviews. Candidates should understand representations such as adjacency list and adjacency matrix and when to use each, and tree representations including n ary trees and binary search trees. Expect to implement and reason about traversals including depth first search and breadth first search, tree traversals such as pre order in order and post order, and level order traversal. Cover algorithms including topological sorting for directed acyclic graphs, cycle detection, connected components, shortest path algorithms such as breadth first search for unweighted graphs, Dijkstra for nonnegative weights, and Bellman Ford for graphs with negative edges, and minimum spanning tree algorithms such as Kruskal and Prim. Include disjoint set union find for connectivity and for use with Kruskal, lowest common ancestor techniques and implementations, tree dynamic programming problems, serialization and deserialization, reconstruction from traversals, balancing and validation checks for binary search trees and balanced tree concepts, diameter and path sum problems, and common interview patterns such as path finding dependency resolution and structural transformation. Emphasize implementation details and common pitfalls including correct use of visited tracking recursion depth edge cases and disconnected components, and practice articulating time and space complexity tradeoffs and algorithm selection under different constraints.

MediumTechnical
84 practiced
Given specific numeric values for n (nodes) and m (edges), analyze when an adjacency list vs adjacency matrix is more appropriate. For example, for n = 100k and m = 1M, compute approximate memory requirements and operation costs for edge lookup and neighbor iteration; discuss bitset optimizations and sparse matrix libraries.
HardTechnical
59 practiced
Given a directed acyclic graph (DAG) representing tasks with durations and precedence constraints, design an algorithm to compute the earliest completion time for each task and the overall project completion time. Explain how topological ordering and the critical path method are combined and how to modify the algorithm when resources are constrained (limited parallel workers).
MediumTechnical
64 practiced
Compute the diameter (longest path length in edges or weights) of a binary tree. Provide an O(n) algorithm and implement it; discuss how to adapt for weighted trees and how to reconstruct the actual longest path nodes, not just its length.
MediumTechnical
78 practiced
Implement clone (deep copy) of an undirected graph given a reference to a node. The graph may contain cycles. Provide both BFS and DFS approaches and explain how you ensure node identity mapping and avoid infinite loops.
EasyTechnical
104 practiced
Explain the difference between Depth-First Search (DFS) and Breadth-First Search (BFS): their typical uses, time and space complexity, order of node discovery, and real-world scenarios when you would pick one over the other (e.g., shortest unweighted paths, topological ordering, connectivity checks).

Unlock Full Question Bank

Get access to hundreds of Trees and Graphs interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.