numpy.partition in JavaScript



在JavaScript中,通过库或内置程序,是否有现成的等效numpy.partition

似乎没有任何流行的相关库(如underscore.js)提供这样的函数。我之所以这么问,是因为我希望能够在一般情况下找到数组中最高(或最低)的n元素,而不必自己实现快速选择或内含选择。

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

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

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

这个问题的部分动机是:是否可以使用Math.min从数组中获得第二小的数字?

打包以进行快速选择。

Github

NPM

(我从未使用过这个包,但从自述文件来看,这似乎是OP想要的)

相关内容

  • 没有找到相关文章

最新更新