![]() |
|
There's more than one way to do things | |
PerlMonks |
RE: RE: Sorting a list of IP addresses (aka Why I hate Big O)by young perlhopper (Scribe) |
on Aug 03, 2000 at 02:58 UTC ( #25875=note: print w/replies, xml ) | Need Help?? |
Yes, i will jump in with you, enthusiastically. Thank you
for the cogent explanation. However, I wouldn't necessarily say the big O notation is a measure of the rate of change. (it is, sort of, but i don't think that's the best way to think of it). Another way of thinking of it is this: Take two algorithms, algorithm A, which is O(N*log N), and algorithm B, which is O(N^2). Now let's say that the execution time for Algorithm A is 100 seconds when N=1000, and that the execution time for Algorithm B is 1 second when N=1000. At first glance, B might appear faster than A, and it certainly is for N=1000. However, what Big O tells us is that no matter what execution times we measure for A and B at a given value of N, A will be faster than B for some arbitrarily large N. This, is essentially what the theorem behind big O states: That an algorithm with a 'smaller' big O will run faster than an algorithm with a 'larger' big O, for all N > X, X finite but arbitrarily large. B may run 10^100 times faster than A for N = 10^1000, but since A has a 'smaller' big O, there is some N such that A will run faster than B.
Okay, i'll stop rambling.
In Section
Meditations
|
|