summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJulian Taylor <jtaylor.debian@googlemail.com>2016-07-21 21:44:27 +0200
committerJulian Taylor <jtaylor.debian@googlemail.com>2016-07-21 23:07:48 +0200
commitc3cea4558bb37ba1e6a7a045c108081a88a88691 (patch)
tree12daecdb9edf4e5f0f6047ba47c11cd50b27d571 /doc
parentf3c994a3510ff96fbc519b5dc28c27d2fd6ace76 (diff)
downloadnumpy-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.rst6
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
============