A complete, step-by-step data structures and algorithms tutorial series. Master the core concepts that appear in coding interviews at Google, Meta, Amazon, and every top tech company. Every article includes working code in Kotlin, Python, and Go.

Free. No paywall. From arrays to dynamic programming.


Part 1: Data Structures

#TutorialWhat You Will Learn
1Arrays and StringsArrays, strings, two-pointer technique, palindromes, anagrams
2Linked ListsSingly, doubly, circular lists, reversal, cycle detection
3Stacks and QueuesLIFO, FIFO, monotonic stack, valid parentheses
4Hash Maps and SetsHashing, O(1) lookup, frequency counting, two sum
5Trees — Binary Trees and BSTTraversals, BST operations, validate BST
6Heaps and Priority QueuesComing soon
7Graphs — Representation and TraversalComing soon
8TriesComing soon
9Union-Find (Disjoint Sets)Coming soon
10Data Structures Cheat SheetComing soon

Part 2: Algorithms

#TutorialWhat You Will Learn
11Sorting AlgorithmsComing soon
12Binary SearchComing soon
13Recursion and BacktrackingComing soon
14Dynamic Programming — IntroductionComing soon
15Dynamic Programming — PatternsComing soon
16Greedy AlgorithmsComing soon
17Sliding WindowComing soon
18BFS and DFS PatternsComing soon

Part 3: Interview Patterns

#TutorialWhat You Will Learn
19Two Pointers PatternComing soon
20Fast and Slow PointersComing soon
21Merge IntervalsComing soon
22Top K ElementsComing soon
23Graph Patterns — Shortest PathComing soon
24System Design Basics for DSAComing soon
25DSA Interview Cheat SheetComing soon

Who is This For?

  • Developers preparing for coding interviews at FAANG and top tech companies
  • Self-taught programmers who want a solid computer science foundation
  • Career switchers entering software development
  • Anyone who wants to understand data structures and algorithms from scratch

Prerequisites

  • Basic programming knowledge in at least one language
  • Familiarity with variables, loops, functions, and classes
  • No computer science degree required

Why Kotlin, Python, and Go?

Every article shows solutions in three languages:

  • Python — the most popular interview language (60%+ of candidates use it)
  • Kotlin — great for Android developers preparing for interviews
  • Go — growing fast for backend and systems roles