Knowledge

Algorithms Architecture Data Structures

Quick Select

QuickSelect finds the k-th smallest element (0-based) in expected linear time by repeatedly partitioning the array in-place, shrinking the search to the side that must contain the answer.

Bottom-Up Merge Sort

An iterative (non-recursive) merge sort that repeatedly merges adjacent sorted runs of size 1, 2, 4, … until the whole array is sorted.

Shell Sort

An in-place generalization of insertion sort that improves performance by comparing elements far apart using gap-based passes, achieving sub-quadratic time in practice.

Top-Down Merge Sort

A stable divide-and-conquer sort that recursively splits an array, then merges sorted halves using a single auxiliary array.

Scalability

An overview of scalability as a core non-functional requirement: what it is, what it isn’t, and the trade-offs behind common scaling techniques.

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.