DEV Community

Discussion on: What is Big O Notation?

 
aleksandrhovhannisyan profile image
Aleksandr Hovhannisyan

It's also good to keep in mind that there is nothing special about n.

Saying an algorithm is O(n) without defining n is a little misleading, even though it is traditionally taken to be the size of the input.

In the example with all the if statements, if we define n to be the number of if statements, then the algorithm is in fact O(n). But n is just a constant, so it's really O(1).

Thread Thread
 
artoodeeto profile image
aRtoo

yea i got you now. on your example since arrayOfLengthN is just being compared then run time would always be constant unless n is being run by or evaluated by other method such as forEach. In other words compare instruction is O(1) regardless of how many are being chained.

Thread Thread
 
artoodeeto profile image
aRtoo

In the example with all the if statements, if we define n to be > the number of if statements, then the algorithm is in fact O(n). > But n is just a constant, so it's really O(1).

Im guessing the author is talking about n as number of ifs thats how I was understanding it. Thats why he had to create a hash for a constant look up.

Thread Thread
 
aleksandrhovhannisyan profile image
Aleksandr Hovhannisyan

In other words compare instruction is O(1) regardless of how many are being chained.

Exactly, unless they're doing something with the input data that would scale with the input size.

Thread Thread
 
artoodeeto profile image
aRtoo

gotcha. much love sir. thanks.