Knowledge

Algorithms Architecture Data Structures

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.