in reply to Re: sorting agorithm
in thread sorting agorithm
Perl 5.6 and earlier used a quicksort algorithm to implement
sort. That algorithm was not stable, and could go quadratic.
(A stable sort preserves the input order of elements that
compare equal. Although quicksort’s run time is O(NlogN) when
averaged over all arrays of length N, the time can be O(N**2),
quadratic behavior, for some inputs.) In 5.7, the quicksort
implementation was replaced with a stable mergesort algorithm
whose worst-case behavior is O(NlogN). But benchmarks
indicated that for some inputs, on some platforms, the original
quicksort was faster. 5.8 has a sort pragma for limited
control of the sort. Its rather blunt control of the
underlying algorithm may not persist into future Perls, but the
ability to characterize the input or output in implementation
independent ways quite probably will. See sort.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: sorting agorithm
by Anonymous Monk on Aug 13, 2009 at 09:55 UTC | |
by JavaFan (Canon) on Aug 13, 2009 at 10:04 UTC |