numpy.argsort中的支点是如何选择的?
How is the pivot chosen in numpy.argsort?
我想通过比较 ‘quicksort’
、‘mergesort’
、‘heapsort’
、‘stable’
中可用的不同排序算法来对 np.argsort
进行基准测试 np.argsort
documentation。我想知道 pivot 是如何选择的,即 quicksort
.
我找到了 source file for np.sort
并且 pivot 的选择在那里很清楚。但是,我找不到描述 np.argsort
幕后情况的文件。合理的假设是这些方法执行相同,但是,我想以某种方式验证它。
当调用 np.argsort(kind='quicksort')
时,调用被分派到 PyArray_ArgSort
and then to npy_aquicksort
(C 源 links):
这还包括与您的 link 至 np.sort
相同的枢轴选择:
pm = pl + ((pr - pl) >> 1);
无需进一步研究,我假设这会选择当前分区的中心元素作为基准。
我想通过比较 ‘quicksort’
、‘mergesort’
、‘heapsort’
、‘stable’
中可用的不同排序算法来对 np.argsort
进行基准测试 np.argsort
documentation。我想知道 pivot 是如何选择的,即 quicksort
.
我找到了 source file for np.sort
并且 pivot 的选择在那里很清楚。但是,我找不到描述 np.argsort
幕后情况的文件。合理的假设是这些方法执行相同,但是,我想以某种方式验证它。
当调用 np.argsort(kind='quicksort')
时,调用被分派到 PyArray_ArgSort
and then to npy_aquicksort
(C 源 links):
这还包括与您的 link 至 np.sort
相同的枢轴选择:
pm = pl + ((pr - pl) >> 1);
无需进一步研究,我假设这会选择当前分区的中心元素作为基准。