Knowledge
Depth-First Search (DFS) on an Adjacency List
Recursive DFS to find a path between two vertices using an adjacency list representation.
Doubly Linked List
A bidirectional linked structure enabling O(1) insertions and deletions at both ends, with efficient middle operations when node references are known.
Tree Comparison
Structural comparison requires explicit null tracking. DFS naturally enforces this through recursion, while BFS requires careful handling of null positions.
Breadth-First Search
Level-order traversal with guarantees DFS cannot make.
Tree Traversal
Three traversal orders over the same structure, each revealing a different meaning.
Binary Search Tree
A comparison-based tree offering logarithmic operations when balanced, and linear ones when not.
QuickUnion
A near-constant time solution to dynamic connectivity using weighted trees and path compression.
PriorityQueue
A queue optimized for fast access to the highest-priority element.
ArrayList
Classical data structure that is often fast, until it isn't.
Stack
Last In, First Out, simple as that.