The Superlative Guide to Big O
Tags: career, algorithms, computerscience, beginners
Published: 2021-01-13 11:49:51

---
title: The Superlative Guide to Big O
published: true
description: Is there a computer science topic more terrifying than Big O? Don’t let the name scare you, Big O is not a big deal. Learn the fundamentals in this superlative guide.
tags: career, algorithms, computerscience, beginners
canonical_url: https://jarednielsen.com/big-o/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/6l5fcszjew2mfo1xll34.png
---

Is there a computer science topic more terrifying than Big O notation? Don’t let the name scare you, Big O notation is not a big deal. It’s very easy to understand and you don’t need to be a math whiz to do so. In this series, you’ll learn the fundamentals of Big O notation with side trips in dynamic programming and proof by induction, all using examples in JavaScript.

_This article originally published on [jarednielsen.com](https://jarednielsen.com/big-o/)_

Will it scale?

_That_ is the question.

Big O helps us answer it.

Programming and problem solving are both metacognitive activities. We think about thinking. Big O is one more tool in our problem solving toolbox. While Big O is specifically used to calculate the order of a function, we can extend the mindset to problem solving (and life) in general and ask ourselves, ‘how can we improve?’

I’m an entirely self-taught developer. I’m lucky. I was never asked any questions about Big O in any technical interviews.

Did I need it?

No. I got by just fine without it.

Would it have helped?

Yes. Immensely.

If you didn’t take the traditional, academic route to programming, there’s no urgency to learn Big O. There are too many other things to keep up on: libraries, frameworks, the latest spec! So Big O falls by the wayside and we hope it never comes up. If we do carve out time to learn it, it’s most likely in preparation for a technical interview.

Will you scale? 

That is the question!


## Big O: The Superlative Guide

The following list is a ‘table of contents’ of my articles about Big O. They weren’t all written in this order, but this is the order I recommend you read them. If you think otherwise or think there’s something missing, let me know on Twitter [@jarednielsen](https://twitter.com/jarednielsen).

* [What is Big O Notation?](https://jarednielsen.com/big-o-notation/)

* [Big O Linear Time Complexity](https://jarednielsen.com/big-o-linear-time-complexity/)

* [How to Sum Consecutive Integers 1 to n](https://jarednielsen.com/sum-consecutive-integers/)

* [Big O Quadratic Time Complexity](https://jarednielsen.com/big-o-quadratic-time-complexity/)

* [Big O Logarithmic Time Complexity](https://jarednielsen.com/big-o-logarithmic-time-complexity/)

* [Proof by Induction](https://jarednielsen.com/proof-induction/)

* [How to Sum Consecutive Powers of 2](https://jarednielsen.com/sum-consecutive-powers-2/)

* [Big O Recursive Time Complexity](https://jarednielsen.com/big-o-recursive-time-complexity/)

* [Big O Recursive Space Complexity](https://jarednielsen.com/big-o-recursive-space-complexity/)

* [Dynamic Programming: Memoization and Tabulation](https://jarednielsen.com/dynamic-programming-memoization-tabulation/)

* [Big O Log-Linear Time Complexity](https://jarednielsen.com/big-o-log-linear-time-complexity/)

* [How to Calculate Permutations and Combinations](https://jarednielsen.com/calculate-permutations-combinations/)

* [Big O Factorial Time Complexity](https://jarednielsen.com/big-o-factorial-time-complexity/)

* [What’s the Difference Between Big O, Big Omega, and Big Theta?](https://jarednielsen.com/big-o-omega-theta/)

If you want all this (and more!) in one package, pick up a copy of [The Little Book of Big O](https://gum.co/big-o).