Big O Notation: What It Is and Why You Should Care

Time complexity is a way of discussing how long specific algorithms take. This is useful in streamlining software so it works as fast as possible.

When you're writing code, you should be aware of how long it's going to take to execute. Nobody wants to create a product that users find frustrating due to slow use.

Time complexity is talked about in relation to an algorithm, a collection of one or more functions.

Big O Notation specifically helps you identify when an algorithm wouldn't 'scale' well, or work well with varying amounts of users, information, or other inputs.

This does NOT correspond with Moore's law - no matter how big and fast your computer is, if the algorithm is exponentially inefficient, it's realistically unusable.

Additionally, questions about Big O Notation and time complexity can be used as interview questions.

Your employers will want to know that the code you write will not take too long to load on the page for the users, and knowledge of Big O Notation shows that you're cognizant of that while writing your code.

The take-away from this video is that Big O Notation helps you identify where there could be problems (sometimes BIG problems) in speed and memory when your site or app grows.