WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Coding Interview Essentials · Time and Space Complexity Analysis · question 21 of 120

What is Big O notation and why is it important?

📕 Buy this interview preparation book: 120 Coding Interview Essentials questions & answers — PDF + EPUB for $5

’Big O’ notation, also known as asymptotic notation, is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. In terms of computer science and coding, Big O notation is used for analyzing an algorithm’s worst-case performance, denoting the maximum time taken, or the upper bound of time complexity.

The formal definition of Big O notation is:

Given two functions, ‘f(n)‘ and ‘g(n)‘, we say that ‘f(n) = O(g(n))‘ if there exist constants ‘c‘ > 0 and ‘n0‘ ≥ 0 such that:

‘|f(n)| ≤ c * |g(n)|‘ for all ‘n > n0‘.

Let me put what this equation means in human words. "f(n) = O(g(n))" means "f(n) grows no faster than g(n)" in an asymptotics sense. Here, ‘f(n)‘ is usually the time or space complexity function of an algorithm, and ‘g(n)‘ is a simple function like ‘1‘, ‘n‘, ‘n2‘, ‘n * log(n)‘, etc.

Big O notation is important for the following reasons:

1. It helps us analyze the time and space efficiency of algorithms, this is inevitably critical when dealing with large amounts of data, a common scenario in modern computing. If your data increases exponentially, an inefficient algorithm can make a program non-functional.

2. It provides a measure to describe the worst-case scenario, enabling us to understand the maximum resources the algorithm could require.

As an example consider a simple linear search function:

def linear_search(array, target):
    for i in range(len(array)):
        if array[i] == target:
            return i
    return None

This function has a time complexity of O(n), as in the worst-case scenario, the target is at the last of the array, and the function has to iterate through every element.

In summary, Big O is critical in computer science because it provides a rough estimation of how an algorithm will perform as we scale the data it’s operating on. This enables us to design and choose the most efficient algorithms for the specific applications we are developing.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Coding Interview Essentials interview — then scores it.
📞 Practice Coding Interview Essentials — free 15 min
📕 Buy this interview preparation book: 120 Coding Interview Essentials questions & answers — PDF + EPUB for $5

All 120 Coding Interview Essentials questions · All topics