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
| # | Tutorial | What You Will Learn |
|---|---|---|
| 1 | Arrays and Strings | Arrays, strings, two-pointer technique, palindromes, anagrams |
| 2 | Linked Lists | Singly, doubly, circular lists, reversal, cycle detection |
| 3 | Stacks and Queues | LIFO, FIFO, monotonic stack, valid parentheses |
| 4 | Hash Maps and Sets | Hashing, O(1) lookup, frequency counting, two sum |
| 5 | Trees — Binary Trees and BST | Traversals, BST operations, validate BST |
| 6 | Heaps and Priority Queues | Coming soon |
| 7 | Graphs — Representation and Traversal | Coming soon |
| 8 | Tries | Coming soon |
| 9 | Union-Find (Disjoint Sets) | Coming soon |
| 10 | Data Structures Cheat Sheet | Coming soon |
Part 2: Algorithms
| # | Tutorial | What You Will Learn |
|---|---|---|
| 11 | Sorting Algorithms | Coming soon |
| 12 | Binary Search | Coming soon |
| 13 | Recursion and Backtracking | Coming soon |
| 14 | Dynamic Programming — Introduction | Coming soon |
| 15 | Dynamic Programming — Patterns | Coming soon |
| 16 | Greedy Algorithms | Coming soon |
| 17 | Sliding Window | Coming soon |
| 18 | BFS and DFS Patterns | Coming soon |
Part 3: Interview Patterns
| # | Tutorial | What You Will Learn |
|---|---|---|
| 19 | Two Pointers Pattern | Coming soon |
| 20 | Fast and Slow Pointers | Coming soon |
| 21 | Merge Intervals | Coming soon |
| 22 | Top K Elements | Coming soon |
| 23 | Graph Patterns — Shortest Path | Coming soon |
| 24 | System Design Basics for DSA | Coming soon |
| 25 | DSA Interview Cheat Sheet | Coming 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