I often see you guys talking about N methods and N^2 methods, which, correct me if I’m wrong, indicate how fast a method is. My question is: how do you guys know which methods are N and which are N^2? And also: are there other speed indications of methods then just N and N^2?
Share
This talks abnout the complexity of an algorithm (which is an indicator of how fast it will be, yes)
In short, it tells how many “operations” (with operations being a very vague and abstract term) will be needed for a input to the method of size “N”.
e.g. if your input is an List-type object, and you must iterate over all items in the list, the complexity is “N”. (often expressed O(N) ).
if your input is an list-type object, and you need only to look at the first (or last), and the list gurantees to you that such a look at the item is O(1); your method will be O(1) – independent from the input size.
If your input is a list, and you need to compare every item to every other item the complexity will be O(N²) or O(N*log(n))