numpy.partition 在 JavaScript

numpy.partition in JavaScript

在 JavaScript 中是否有现成的等价于 numpy.partition 的、通过库或内置的?

好像不是underscore.js provide such a function. I am asking because I would like to be able to find the n highest (or lowest) elements in an array for the general case, without having to implement quickselect or introselect我自己等流行的相关库

在索引 n 处对数组进行分区会重新排列数组,以便 n 处的元素按排序顺序排列,并且索引大于 n 的所有元素都大于该元素n 处的元素。或者,索引小于 n 的元素都可以小于 n 处的元素。无论哪种方式,它都是一种部分排序,可以保证特定元素的位置及其上下元素的分布。

完全排序当然满足相同的条件,但运行时间为 O(n log n),而分区通常运行时间为 O(n)(quickselect 的平均情况,introselect 的最坏情况)。

jQuery 插件 QuickSelect 做了一些完全不同的事情,尽管名字很有前途。

本题的部分动机:

进行快速选择的软件包。

Github

NPM

(我从来没有用过这个包,但是从README来看,这似乎是OP正在寻找的东西)