big O TLDR;
Big O is a notation used to describe the computational complexity of an algorithm. The computational algorithm is split into two parts:
- Time complexity or the amount of time required to run the algorithm relative to the input size
- Space complexity of how much memory is allocated by the algorithm relative to the input size
constant time
The best complexity is called constant time or constant space, meaning that the algorithm always uses the same amount of resources regardless of the input.
Time complexity
complexity
for (const n of arr) {
console.log(n);
}
This algorithm has a time complexity of . Each loop of the iteration costs .
complexity
for (const n of arr) {
for (const n2 of arr) {
console.log(n & n2);
}
}
This algorithm has a time complexity of :
- outer loop costs
- inner loop costs
complexity
for (const n of arr) {
console.log(n);
}
for (const n of arr) {
console.log(n);
}
for (const m of arr2) {
console.log(m);
}
- first loop costs
- second loop costs
- the third loop costs
- which in big O notation is because the constant is ignored.
