WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. Book a mock interview →
Time and Space Complexity Analysis 21 of 120 · Coding Interview Essentials

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.

Line open 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 →
📕 Buy this interview preparation book: 120 Coding Interview Essentials questions & answers — PDF + EPUB for $5

All 120 Coding Interview Essentials questions · All topics