插入排序在numpy?

时间:2011-03-03 02:38:01

标签: python numpy sorting scipy insertion-sort

在numpy的某个地方是否有插入排序?我的数组需要一个argsort,但内置的快速,合并和堆不适合几乎排序的数组。

2 个答案:

答案 0 :(得分:3)

来自numpy 1.17.0 release notes

  

Timsort已实现,现在可用于代替mergesort。 [...] Timsort的功能提高了对已排序或​​几乎排序的数据的性能,并且对随机数据的性能类似于mergesort。

截至撰写本文时,NumPy 1.17.0尚未发布,但在发布NumPy 1.17.0时,您可以通过在{{1中指定kind='stable'kind='mergesort'来选择Timsort }}通话:

sort

这满足了您要使用插入排序的“快速处理几乎排序的数据”角色,同时还利用了输入中的其他顺序,并且比插入排序具有更好的最坏情况行为。

较早的numpy版本do not have a fast method for nearly sorted data

答案 1 :(得分:1)