ArchFlows

Interactive Systems & DSA Flows

Explore complex software architectures and classic data structure algorithms through step-by-step, interactive visual simulations. Click into a module below to start.

Binary Tree Boundary Traversal

Visualize Left Boundary, Leaf Nodes, and Right Boundary traversal steps interactively in a customizable Binary Tree.

DSA Binary Tree Algorithms
Launch DSA Simulation

Vertical Order Traversal

Watch nodes group mathematically by their Horizontal Distances (HD) in a specialized coordinate-mapped BFS projection.

DSA Binary Tree Map & Queue
Launch DSA Simulation

Dutch National Flag Algorithm

Understand the 3-Pointer technique to sort an array of 0s, 1s, and 2s in linear $O(N)$ time with constant space.

DSA Arrays 3-Pointers
Launch DSA Simulation

Moore's Voting Algorithm

Watch the algorithmic "tug of war" efficiently find the majority element in $O(N)$ time and $O(1)$ space using a two-phase process.

DSA Arrays Math / Counting
Launch DSA Simulation

Kadane's Algorithm

Track Local and Global Maximums to efficiently find the contiguous subarray with the largest sum in $O(N)$ time.

DSA Arrays Dynamic Programming
Launch DSA Simulation

3 Sum Algorithm

Explore the $O(N^2)$ Two-Pointer optimization. Watch the anchor pointer fix elements while left and right boundaries converge.

DSA Arrays Two Pointers
Launch DSA Simulation

Inversion Count (Merge Sort)

An inversion is a pair of elements (i, j) such that i < j and arr[i] > arr[j]. A brute-force approach checks every pair, taking $O(N^2)$ time. By modifying the Merge Sort algorithm, we can count inversions in $O(N \log N)$ Time and $O(N)$ Space.

DSA Arrays Two Pointers
Launch DSA Simulation