4

numpy.partitionライブラリまたは組み込みを介して、JavaScriptですぐに利用できる同等のものはありますか?

underscore.jsなどの一般的な関連ライブラリがそのような機能を提供しているようには見えません。自分でクイックセレクトイントロセレクトnを実装することなく、一般的なケースで配列内の最高(または最低)の要素を見つけられるようにしたいので、私は尋ねています。

インデックス で配列を分割すると、 の要素がソートされた順序になり、インデックスが より大きいすべての要素が の要素よりも大きくなるように、配列が再配置されnます。または、 より小さいインデックスの要素はすべて、の要素より小さい場合があります。いずれにせよ、特定の要素の位置とその上下の要素の分布を保証するのは部分的な並べ替えです。nnnnn

完全な並べ替えはもちろん同じ条件を満たしますが、O(n log n)時間内に実行されますが、パーティショニングは通常時間内に実行されO(n)ます (quickselect の平均的なケース、introselect の最悪のケース)。

jQuery プラグインのQuickSelectは、有望な名前にもかかわらず、まったく異なることを行います。

この質問の動機の一部: Math.min を使用して配列から 2 番目に小さい数値を取得することは可能ですか?

4

1 に答える 1

1

クイックセレクトを行うパッケージ。

ギットハブ

NPM

(私はこのパッケージを使用したことがありませんが、READMEから、OPが探しているもののようです)

于 2017-11-16T21:33:45.647 に答える