Important terminology
Step
Imagine that every time a computer had to do something, that was an action. This is an oversimplification, but it is the model computer programmers use to discuss how efficient a program is. So, if you added 2 + 4, that is one step. If you had to add 2, 100 times, that would be 100 steps
N
An undetermined number which represents the amount of input you will be dealing with. Let's say that you wanted to sum the items in an array. The array could [1,2,4,6], or [1,3,4,12,4,21,43,1,2,55,63,19] or a million items long. In the preceding examples, the first array would have an N of 4, the second one would have an N of 12, and the third one of 1 million. You might think this means N is always a constant, but that is not true. N represents the input length. The number of elements you have to deal with, and can be as big as infinity.
O(1)/O(N)
This is Big O notation. O(1) means constant, O(N) means linear. I will get more into what that means in the Big O section. The important thing to take away is that a constant is generally better than N, because regardless of input size, your program will perform the same number of steps. Let's use an example:
You write a program that solves a problem in N, or in 1000. Which one is better? As long as the input is 999 or smaller, the N solution. As soon as input surpases 1000 inputs, the constant solution becomes better. At 1000 inputs? They are the same, duh. Come on. Generally, constant solutions are preferable, but it is worth noting that they are not always superior.
Asymptotic
Something is asymptotic if is approaches a line, but never touches it.
This line could be 0, or inifinity, or anywhere in between. If this
is hard for you to imagine, you can think about Dwanye Perkins.
"How could something get closer to zero forever? It didn’t make
sense to me, until I got some credit card bills."- Dwanye Perkins