Pete Emerson wrote: > > Dave Storrs wrote: > > > Hmmm...this is interesting. A friend of mine who is in the > > process of getting her graduate degree in CS/information theory stuff > > recently told me that it has been mathematically proven that no sort can > > run faster than O(n log n) unless you know something about the incoming > > data. I guess that radix sort _only_ works on strings (or stringified > > things), then? > > Radix works on numbers, too; you start with the least significant digit > and work to the left. Of course, I think of numbers as stringified, anyways. > There's no difference between base 10 and base n where n is the number of > characters. > > Radix sorts in columns. So, if you are sorting 5 digit numbers, you make > 5 passes through the data. This would be o(5n), but as n gets huge, the > contant 5 really doesn't matter, so you drop it and it becomes O(n). Some > algorithms are O(n^2) but really take o(n^2 + 2n + 1) to run, but big O > makes it (n^2) because we're interested in what happens as n goes towards > infinity. > > To take a stab at your question about "knowing something about the incoming data", > and I'm guessing here, we do know how many columns of data we have, > and therefore know just how big our constant in front of the n is. If this > constant is too big (bigger than log n I would guess), > we might want to consider a different sort. > > In order to use radix, we'd probably also want to know that our data is not > "in order" or even "close to order". Part of the problem is that we now are > taking extra time to look at our data and analyse it before deciding what > sort to use. Maybe at this point you might want to just use mergesort > or quicksort and be done with it. I'm going to go mess with Benchmark.pm > and see what happens. > > Okay, maybe it's wandering a little far from Perl Beginners, but it sure is > interesting! >
It is indeed {e} > Pete > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- Etienne Marcotte Specifications Management - Quality Control Imperial Tobacco Ltd. - Montreal (Qc) Canada 514.932.6161 x.4001 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]