A friendly place to learn DSA

Algorithms click when you can watch them think.

Pick a problem and see it solved one step at a time, from the first idea that comes to mind to the fastest one, with the reason behind every Big-O.

Free · No sign-up · Works on your phone

binary search · looking for 63step 1/9

63 could be anywhere between lo and hi: all 10 numbers.

comparisons so far: 0

This is running live. Every animation on the site is made by running the real algorithm.

What every page gives you

A path you can follow

The topics, in the order most people learn them. Each one fills in as problems are added.

  1. 1Arrays & hashing2 problems
  2. 2Binary search1 problem
  3. 3Two pointers1 problem
  4. 4Sliding windowcoming up
  5. 5Stacks & queues1 problem
  6. 6Linked listscoming up
  7. 7Treescoming up
  8. 8Graphscoming up
  9. 9Dynamic programmingcoming up
  10. →System designlater

Recently added

New problems are added every day, newest first. 3 so far.

A notebook that grows every day

This isn't a giant course to get through. It's a notebook that grows every day. Come back tomorrow and there'll probably be something new to watch.

Start with Two Sum →