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
    15 topics · 122 cardsnot started
  • 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
    17 topics · 135 cardsnot started

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