Data Structures & Algorithms
Master core concepts through interactive visualizers, step-by-step animations, complexities, and practice challenges.
Asymptotic Foundations
1 modulesLinear Data Structures
9 modulesArray & Matrix
Explore sequential element access, subsegment manipulations, insertion, deletion, and 2D grid matrix walks.
Stack
Learn the Last-In, First-Out (LIFO) stack data structure with pushing, popping, and structural queries.
Standard Queue
Understand the First-In, First-Out (FIFO) queue buffers, enqueueing, and dequeueing animations.
Circular Queue
Visualize ring buffer queues optimizing index array space via circular wrap pointers.
Double-Ended Queue (Deque)
Interact with double-ended queue insertion and deletion flows at both head and rear points.
Singly Linked List
Interact with linear chain node arrays, traversal, head/tail adjustments, and index operations.
Doubly Linked List
Visualize node linkages referencing both previous and next pointers supporting bidirectional walks.
Circular Linked List
Understand node loops where the tail pointer links back to the head node to form a closed circle.
Array vs Linked List
Contrast contiguous index array memory slots vs scattered linked node chains.
Non-Linear Data Structures
6 modulesBinary Search Tree
Explore hierarchical parent-child nodes, traversal modes (in-order, pre-order, post-order), and search lookups.
Tree Traversals
Observe recursive visiting orders (Inorder, Preorder, Postorder) over node trees.
Heap & Priority Queue
Understand min and max heap properties, tree structure balance, and heapify up/down actions.
Hash Table
Visualize key hashing functions, index mapping arrays, and hash collision resolution techniques.
Graph Internals
Learn networks of vertex nodes connected by edges, tracing pathways and adjacency list structures.
Trie (Prefix Tree)
Store and search character nodes for quick prefix-based autocomplete lookup maps.
Searching & Sorting Algorithms
9 modulesLinear Search
Scan elements sequentially one-by-one, comparing each value with the search target.
Binary Search
Divide and conquer sorted datasets, converging left/right indices to isolate target values.
Bubble Sort
Trace step-by-step element sorting where adjacent values bubble to their correct positions.
Selection Sort
Iteratively select the minimum value from the unsorted segment, swapping it to the front.
Insertion Sort
Build a sorted slice incrementally, inserting each unsorted value into its correct slot.
Merge Sort
Recursively split arrays into single segments, merging them back in sorted sequence order.
Quick Sort
Partition array segments around pivot points to sort items in logarithmic average time.
Heap Sort
Construct a binary heap, extract the root element repeatedly, and restore heap properties.
Radix Sort
Sort numbers digit-by-digit from least to most significant, distributing values into buckets.
Graph Algorithms & Traversals
3 modulesBFS & DFS
Traverse complex graph networks using level-order queues and depth-first stacks.
Dijkstra Shortest Path
Find path distances from a single source to all vertex nodes using weight matrix tables.
Kruskal's MST
Build a minimum spanning tree from sorted graph edges utilizing Union-Find cycle checks.
Dynamic Programming & Advanced
7 modulesRecursion & Fibonacci
Observe compiler stack frames tracking self-referencing operations and tree calculations.
Knapsack Problem
Solve value optimization limits within size thresholds using dynamic programming caches.
Longest Common Subsequence
Solve sequence alignment matching limits by dynamically constructing a 2D cache grid.
Two Pointers Pattern
Trace converging indices from boundary endpoints inward to solve target value arrays.
Sliding Window
Track contiguous subarrays of a larger array using start/end boundary pointers to avoid redundant recalculations.
N-Queens Solver
Place N non-attacking queens on a chessboard grid using recursive backtracking constraints.
Travelling Salesperson
Find the minimum weight cyclic path visiting every node city exactly once and returning to source.