Big O notation describes how well an algorithm scales as the size of the input approaches a large number or infinity. The notation approximates the worst-case (upper-bound) performance of an algorithm.

Notion       / Name              / Human speak             / Common in
O(1) / constant / Order of 1 /
O(Log n) / logerithmic / Order of Log n / Binary trees, BST, cutting things in half, recursively.
O(Log n^c) / polylogerithmic / Order of Log n squared /
O(n Log n) / linearithmic / Order of N log N /
O(n) / linear / Order of n /
O(n^2) / quadratic / Order of n squared /
O(n^c) / polynomial / ? /
O(c^n) / exponential / ? /

Notes: 1) c is constant and n is the number of inputs. 2) O is order

Quadratic time every item in the list (aka n for the input size), we have to do n more operations. So n * n == n^2

Lineaer time, every item in the list, we have to do n operations.

Constant time means is no matter how big our input is, it always takes the same amount of time to compute things.

MIT’s Lecture Notes on Big O
Justin Abrah’s Big O Notation Explained
Justin Abrah’s How to Calculate Big O