Penguin

Differences between version 3 and predecessor to the previous major change of BigONotation.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Sunday, August 24, 2003 12:05:29 am by SamJansen Revert
Older page: version 1 Last edited on Saturday, August 23, 2003 10:11:18 am by AristotlePagaltzis Revert
@@ -1,3 +1,13 @@
-AddToMe  
+[BigONotation] is used to describe the complexity of algorithms. Big Oh specifically defines the __upper bound__ of the complexity of an algorithm. Big Oh notation is generally written with, well, a big O. For example:  
+ O(n)  
+Means an algorithm is ''linear'': the amount of processing increases linearly as the size of the input increases. The symbol ''n'' here is the symbol denoting the size of the input. Hence:  
+ O(n log n)  
+Means the algorithm is ''log linear''. Quicksort is an example of a log linear algorithm.  
  
-In the meantime , see [An informal introduction to O(N) notation|http://www.perlmonks.org/index.pl?node_id=227909]. 
+If you write a function that is O(n*n) it is probably going to be quite slow with a large input size. A really quick function would be O(1). This would be something that only ever executes the same amount of code, no matter the input size.  
+  
+[BigONotation] is hardly the only way to describe the complexity of an algorithm, there is also little oh notation, theta notation and others. However, they are rarely, if ever, used. BigONotation is the standard way to describe how a function scales to its input size.  
+  
+Also , see [An informal introduction to O(N) notation|http://www.perlmonks.org/index.pl?node_id=227909].  
+  
+''Someone might want to merge this and [BigOhNotation].''