Complexity Analysis
Reasoning about how cost grows with input size.
2 subjects · 4 topics
Subjects covering this category
2 subjects- Subject · Beginner to Advanced
Choosing a data structure by the cost of its operations, and implementing arrays, linked lists, stacks, queues, hash tables, trees, heaps, tries and graphs in Python, Java and TypeScript.
- Measuring Cost
- Sequences and Lookup
- Recursion and Trees
- Subject · Intermediate to Advanced
Recognising which of the common problem-solving patterns an unseen coding problem needs, and solving it in Python, Java or TypeScript within the time an interview allows.
- Approach
- Array and Number Patterns
- Linked List Patterns
In Complexity Analysis itself
4 topics- Data Structures
Big O notation: how to describe the way a data structure operation's cost grows with its input, and why constants and smaller terms drop out.
Beginner to Intermediate8 cards · 5 qnot started
- Data Structures
Analysing complexity: reading the time and space a function needs from its loops, its recursion and the built-in calls hidden inside them.
Beginner to Intermediate8 cards · 5 qnot started
- Coding Interview Patterns
Solving an unseen problem: a fixed sequence of steps from clarifying the input to tracing the code, so a coding problem never starts from a blank page.
Intermediate to Advanced8 cards · 5 qnot started
- Coding Interview Patterns
Optimising a solution: finding the step that dominates a solution's cost and removing it with a standard move, and knowing when to stop.
Intermediate to Advanced8 cards · 4 qnot started