Skip to content
DSA Fun
Now with AI Tutor — explains every problem like a friend

Data Structures & Algorithms
— in Plain English

Learn DSA from scratch with beginner-friendly explanations, hands-on practice problems — and an AI Tutor that explains every problem in plain English, step by step, on demand.

25 DSA topics
300+ problems
14 patterns
AI tutor
live code runner
~/dsafun · two-sum.js
passed
// Two Sum — O(n) hash map
function twoSum(nums, target) {
  const seen = new Map();
  for (let i = 0; i < nums.length; i++) {
    const need = target - nums[i];
    if (seen.has(need))
      return [seen.get(need), i];
    seen.set(nums[i], i);
  }
}
stdout
$ node two-sum.js
[0, 1]
runtime 12ms
memory 38.6 mb
cases 57 / 57
› ready for next problem

Meet your AI Tutor

Stuck on a problem? Hit Teach Me and get a personalised explanation — generated just for you, right in the page.

Plain English

Breaks down exactly what the problem is asking, without the jargon.

Step-by-step

Walks you through the thinking process before showing any code.

Worked examples

Traces a real input through every step so you see exactly how it works.

AI Tutor included with Gold and Premium plans

Problem of the Day

Implement Trie

MediumTriesAmazonGoogleMeta
Pricing

Yearly. No subscription traps.

One charge a year. Renews only if you let it.

Master Every DSA Pattern in 7 Days

Buy me lunch subscribers only

Sliding Window · Two Pointers · BFS/DFS · DP · Greedy — copy-paste templates for every pattern with recognition cues

Buy me lunch — £9.99

Explore Data Structures (Free)

Data StructureBeginner

Arrays

A row of lockers for your data

10 LeetCode 3–5 hours
Data StructureBeginner

Linked List

Connected nodes forming a chain

10 LeetCode 4–6 hours
Data StructureBeginner

Stacks

Last In First Out structure

10 LeetCode 3–4 hours
Data StructureBeginner

Queues

First In First Out structure

10 LeetCode 3–4 hours
Data StructureBeginner

HashMap & HashSet

Fast lookup using keys

13 LeetCode 4–6 hours
Data StructureIntermediate

Binary Trees

Hierarchical node-based structure

13 LeetCode 6–8 hours
Data StructureIntermediate

Heaps

Priority-based tree structure

10 LeetCode 5–7 hours
Data StructureIntermediate

Graphs (BFS/DFS)

Nodes connected with edges

12 LeetCode 6–9 hours
Locked
Data StructureAdvanced

AVL Trees

Self-balancing binary search trees

10 LeetCode 8–12 hours
Locked
Data StructureAdvanced

Tries

Prefix-based word lookup tree

10 LeetCode 6–10 hours
Locked
Data StructureAdvanced

Segment Trees

Range queries and updates in O(log n)

3 LeetCode 8–12 hours
Locked
Data StructureAdvanced

Union-Find (DSU)

Track connected components efficiently

4 LeetCode 5–8 hours

Explore Algorithms (Free)

AlgorithmBeginner

Sorting Algorithms

Arrange data in order

10 LeetCode 6–10 hours
AlgorithmBeginner

Search Algorithms

Find items efficiently

10 LeetCode 5–9 hours
AlgorithmBeginner

String Manipulation

Transform and analyze text

10 LeetCode 6–10 hours
Locked
AlgorithmAdvanced

Advanced Graph Algorithms

Shortest paths and connectivity

10 LeetCode 8–15 hours
Locked
AlgorithmIntermediate

Dynamic Programming

Break problems into overlapping subproblems

18 LeetCode 8–12 hours
AlgorithmBeginner

Two Pointers

Two indices moving through data in tandem

5 LeetCode 4–6 hours
Locked
AlgorithmIntermediate

Sliding Window

Maintain a moving subarray over data

6 LeetCode 5–7 hours
Locked
AlgorithmIntermediate

Backtracking

Explore all possibilities, prune dead ends

10 LeetCode 6–9 hours
Locked
AlgorithmIntermediate

Greedy Algorithms

Make the locally optimal choice at each step

6 LeetCode 5–7 hours
Locked
AlgorithmIntermediate

Bit Manipulation

Operate directly on binary representations

5 LeetCode 4–6 hours
Locked
AlgorithmIntermediate

Recursion & Divide and Conquer

Split problems, solve halves, combine results

5 LeetCode 5–8 hours
Locked
AlgorithmIntermediate

Matrix & 2D Arrays

Grid traversal, rotation, and DP on 2D

5 LeetCode 5–7 hours
Locked
AlgorithmIntermediate

Intervals

Merge, insert and count overlapping ranges

5 LeetCode 4–6 hours
💬
Send us a message
We usually reply within 24 hours
500 left
DSA Fun — Learn Data Structures & Algorithms with an AI Tutor