Master Array Memory & Strings.
Interactive visualizers for physical contiguous RAM pointer arithmetic, 64-byte CPU cache lines, dynamic geometric doubling, sliding window two-pointers, Dutch National Flag 3-way partitioning, Monotonic stacks, KMP LPS pattern search, Rabin-Karp rolling hashes, and Manacher's O(N) palindromes.
Contiguous RAM Layout & O(1) Pointer Arithmetic
The CPU hardware executes a single LEA (Load Effective Address) opcode to compute the memory address without scanning preceding elements.
64-Byte CPU Cache Line & Spatial Locality
Dynamic Array Capacity Doubling & Amortized O(1)
Dynamic array initialized with size: 2, capacity: 2.
Sliding Window Subarray Stepper (Size K = 3)
Dutch National Flag Algorithm (0s, 1s, 2s Sort)
Ready to partition array with 3 pointers: low=0, mid=0, high=5.
Monotonic Decreasing Stack (Next Greater Element)
KMP Longest Prefix Suffix (LPS) Array Builder
Prefix substring: "ABAB". The longest proper prefix that is also a suffix is of length 2. If mismatch occurs at index 4, KMP skips directly to index 2 without rewinding the text pointer!
Rabin-Karp Polynomial Rolling Hash Stepper
Manacher's Algorithm O(N) Palindrome Finder
Centered at index 3 ('a'), the palindrome expands 3 steps in both directions. By inserting virtual # delimiters, odd palindromes (like "aba") and even palindromes (like "abba") are handled with a single unified algorithm in linear O(N) time.
Array & String DSA Playground
20 In-Depth Lessons
Kadane algorithm, Dutch National Flag, Manacher palindrome search, Aho-Corasick, and UTF-8 encoding.
CPU Cache Lab
Inspect L1/L2 cache hit vs miss latency differences between Row-Major and Column-Major loops.
Senior Flashcards
Master tough DSA & Systems interview questions on pointer math, amortized aggregate method, and KMP.