Knowledge
Availability
An overview of availability as a core non-functional requirement: what it is, what it isn’t, and the trade-offs behind common availability techniques.
LRU Cache
A fixed-capacity cache that guarantees O(1) access and eviction by combining a HashMap for lookup with a doubly linked list for usage ordering.
HashMap
A structure that trades memory for near-constant-time lookup and underpins caches, indexes, and associative containers.
Dijkstra’s Shortest Path Algorithm
Single-source shortest path algorithm for graphs with non-negative edge weights.
Breadth-First Search on an Adjacency Matrix
Level-order traversal over a graph represented as a matrix, with shortest-path reconstruction.
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.