What’s the Big “O”-dea?
Wondering what Big O even means and how it applies to Software Engineering? You are in the right place. Here, we will cover the basics, frequent varieties, and some examples of Big O Notation.
As a junior developer, Big O Notation is usually not one of the first pieces of knowledge you will acquire, you may be well into your career already, in fact, and still not have used or explored Big O Notation. If this is the case, do not fret, you can pick it up much quicker than you think! While you may be thinking “Why do I need Big O if I already know how to design and develop applications?” — well, I will tell you why. Imagine a world where the candle was accepted as the only source of light outside of the sun and moon… we would be a lot farther off as a society and who knows where we would be today! If you apply the same line of logic to algorithms and processes in our applications and solutions, then we, as engineers, would be a lot farther off! Let's use this analogy as motivation to always test and compare our code for the best, most efficient possible solutions.
First, let's cover the definition and basics of Big O Notation. In plain English, please, what is it?! Big O Notation is basically a language used for gauging the length of time used for an algorithm to run; it is a way to analyze and compare the efficiency of different solutions to a single problem (“Big O Notation”).
Works Cited:
“Big O Notation” www.interviewcake.com/article/java/big-o-notation-time-and-space-complexity. Accessed 02 Jan. 2021.