diff options
author | Julian Taylor <jtaylor.debian@googlemail.com> | 2016-07-21 21:44:27 +0200 |
---|---|---|
committer | Julian Taylor <jtaylor.debian@googlemail.com> | 2016-07-21 23:07:48 +0200 |
commit | c3cea4558bb37ba1e6a7a045c108081a88a88691 (patch) | |
tree | 12daecdb9edf4e5f0f6047ba47c11cd50b27d571 /doc | |
parent | f3c994a3510ff96fbc519b5dc28c27d2fd6ace76 (diff) | |
download | numpy-c3cea4558bb37ba1e6a7a045c108081a88a88691.tar.gz |
ENH: turn quicksort into introsort
Introsort is regular quicksort but changing to a heapsort when not
enough progress is made. This retains the good quicksort performance
while changing the worst case runtime from O(N^2) to O(N*log(N))
Diffstat (limited to 'doc')
-rw-r--r-- | doc/release/1.12.0-notes.rst | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/doc/release/1.12.0-notes.rst b/doc/release/1.12.0-notes.rst index ffab3ccd4..0de733ff4 100644 --- a/doc/release/1.12.0-notes.rst +++ b/doc/release/1.12.0-notes.rst @@ -266,6 +266,12 @@ numpy.sctypes now includes bytes on Python3 too Previously, it included str (bytes) and unicode on Python2, but only str (unicode) on Python3. +quicksort has been changed to an introsort +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The quicksort kind of ``np.sort`` and ``np.argsort`` is now an introsort which +is regular quicksort but changing to a heapsort when not enough progress is +made. This retains the good quicksort performance while changing the worst case +runtime from ``O(N^2)`` to ``O(N*log(N))``. Deprecations ============ |