PrepKitBeta
DSALLDSystem DesignLanguages
PrepKit

© 2026 PrepKit. All rights reserved.

Made with ❤︎ by Jasir

Data Structure & Algorithms

A pattern-based approach to mastering the DSA questions that form the core of technical interviews.

Prerequisites: A foundational understanding of programming concepts, basic data structures (e.g., arrays, linked lists, trees, graphs), and algorithm analysis (time and space complexity) is recommended.

Time-Space Tradeoffs

Using extra space to save time.

  • Frequency Counting
  • Value-to-Index Mapping
  • Prefix Sums

Linear Patterns (1D)

Iterating through 1D data.

  • Converging Pointers
  • Tortoise and Hare
  • Sliding Window
  • Linked List Manipulation

Divide and Conquer

Breaking down problems into smaller pieces.

  • Binary Search
  • Merge Sort

Stacks

LIFO structure for managing nested data.

  • Parsing Expressions
  • Monotonic Stacks

Heaps (Priority Queues)

Finding the largest or smallest elements efficiently.

  • Finding Top 'K' Elements
  • Median from Stream

Intervals

Managing and merging ranges of data.

  • Merging Overlapping Intervals
  • Advanced Interval Patterns

Trees & Graphs: Traversal & Backtracking

Exploring hierarchical and networked data.

  • Traversal (BFS/DFS)
  • Backtracking
  • Union Find
  • Prefix Tree (Tries)

Matrix/Grid Patterns (2D)

Navigating and searching in 2D data structures.

  • Matrix Manipulation
  • Grid as Graph
  • Grid Backtracking

Dynamic Programming

Breaking down complex problems into simpler subproblems to find optimal solutions

  • 1D Dynamic Programming
  • 2D Dynamic Programming
  • Knapsack-style Problems

Beyond This Course

This course focuses on the most frequently encountered DSA patterns in technical interviews. Topics like advanced graph algorithms (e.g., network flow, minimum spanning trees), advanced string algorithms (KMP, Rabin Karp), and bit manipulation are not covered here, but are excellent areas to explore for further mastery.