Data Structures & Algorithms
A curated collection of problems, articles, and guides on essential DSA topics. Choose a topic to start exploring.
Dynamic Programming
Break down complex problems into simpler subproblems.
Trees
Master hierarchical data structures and traversal algorithms.
Graphs
Understand networks of nodes and the relationships between them.
Strings
Tackle problems involving character sequences and manipulation.
Arrays
Deep dive into fundamental contiguous data structures.
Recursion
Solve problems by defining them in terms of themselves.
Heaps
Learn about priority queues and their implementations.
Stacks
Utilize Last-In, First-Out (LIFO) data structures.
Linked Lists
Explore dynamic data structures with nodes and pointers.
Hashing
Understand key-value mapping and collision resolution.
Sorting
Compare and implement various sorting algorithms.
Greedy Algorithms
Make locally optimal choices at each stage.
Searching
Find elements with efficiency using various techniques.
Queues
Work with First-In, First-Out (FIFO) data structures.
Matrix
Handle two-dimensional arrays and grid-based problems.
Bit Manipulation
Manipulate data at the bit-level for optimization.
Backtracking
Build solutions incrementally, and backtrack when needed.