Browse curriculum

Basics

DSA Basics: Complexity Analysis and Recursion

Before any specific data structure makes sense, two questions have to become second nature: how does the work grow as the input grows, and how much memory does that cost. Complexity analysis is the vocabulary interviewers use to ask about trade-offs, and Big-O is how the answer gets written down.

These lessons build that vocabulary visually. Rather than presenting O(n log n) as a formula to remember, the visualizers plot operation counts as the input grows, so the shape of each complexity class is something you have watched rather than memorised. Recursion is covered here too, because the call stack is far easier to reason about once you have seen one drawn.

4

Interactive lessons

4

Free to open

6

Languages (JS, TS, Python, Java, C, C++)

Lessons

Basics lessons

Complexity

Basics time and space complexity compared

Best, average and worst-case running time and extra space for every basics lesson, as each lesson derives them.

LessonBestAverageWorstSpace
Time ComplexityVariesVariesVariesVaries
Space ComplexityN/AN/AN/AO(N)
Big-O NotationN/AN/AN/AN/A
Recursion BasicsO(N)Varies with the recurrenceO(2^N)O(N)
Curriculum

Continue the DSA curriculum

Basics is one of 12 topics in the interactive DSA visualizer curriculum. Once this topic is comfortable, the coding interview pattern library reorganises the same material around the patterns interview questions are built on.

Directory

Every other DSA visualizer