Programming foundations

Stage 4 of 6 · 10 lessons · ~3 months

Data structures and Big-O

Learn the handful of structures almost all code is built from, and how to reason about the time and memory a solution costs. This is what separates code that works from code that still works with a million rows.

Start: Big-O time complexity

Lessons· one lesson for each topic, in this order

  1. 1Big-O time complexity
  2. 2Arrays and dynamic arrays
  3. 3Linked lists
  4. 4Stacks and queues
  5. 5Hash maps and sets
  6. 6Recursion
  7. 7Searching and sorting
  8. 8Space complexity
  9. 9Trees at a first look
  10. 10Graphs at a first lookOptional

Start with· follow one of these

Practise

Keep handy

  • Step through linked lists, hash tables and sorts with your own input

  • The collections articles: List, Dictionary, HashSet, Queue and Stack

Also worth your time

Before moving on: Implement a stack, a queue and a hash map from scratch in your language, state the Big-O of each operation, and solve 30 easy array and hash map problems you can explain aloud.

Tauseef's advice
Build each structure once by hand, then use the built-in version for the rest of your career. Do not grind hard problems yet: 30 easy ones you can explain are worth more than 150 you copied, and the DSA roadmap takes it further when you are ready.

Mark this stage as not done?