python - numpy中的插入排序?

标签 python numpy sorting scipy insertion-sort

numpy 中有插入排序吗?我的数组需要一个 argsort,但内置的 quick、merge 和 heap 不适合几乎排序的数组。

最佳答案

来自numpy 1.17.0 release notes :

Timsort has been implemented and is now used in place of mergesort. [...] Timsort features improved performace on already or nearly sorted data and performs like mergesort on random data.

截至撰写本文时,NumPy 1.17.0 尚未发布,但发布时,您将能够通过指定 kind='stable' 选择 Timsort kind='mergesort'sort 调用中:

sorted = numpy.sort(unsorted, kind='stable')

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

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

关于python - numpy中的插入排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5176060/

相关文章:

python - 谷歌云 - 计算引擎 VS 机器学习

python - Pandas - 如何使用带有索引的字典对列的行进行排序

javascript - 根据时间和组对数组进行排序

algorithm - 大量 block 变长数据的外部排序

python - 如何从 Python 运行 Excel VBA/宏

python - 当异常发生时我应该提出还是冒泡?

python - plotly 基本示例显示 jupyter 实验室中没有 plotly

python - 当第一个维度的第一个大小匹配时,创建数组的数组失败

python - 在 pandas 数据框中选择具有特定列值的行

javascript - 如何计算一个值在没有突变的情况下在数组中出现的次数