quickselect npm

A fast selection algorithm in JavaScript.

2 years after

quickselect Build Status

A tiny and fast selection algorithm in JavaScript (specifically, Floyd-Rivest selection).

quickselect(array, k[, left, right, compareFn]);

Rearranges items so that all items in the [left, k] are the smallest. The k-th element will have the (k - left + 1)-th smallest value in [left, right].

  • array: the array to partially sort (in place)
  • k: middle index for partial sorting (as defined above)
  • left: left index of the range to sort (0 by default)
  • right: right index (last index of the array by default)
  • compareFn: compare function

Example:

var arr = [65, 28, 59, 33, 21, 56, 22, 95, 50, 12, 90, 53, 28, 77, 39];

quickselect(arr, 8);

// arr is [39, 28, 28, 33, 21, 12, 22, 50, 53, 56, 59, 65, 90, 77, 95]
//                                         ^^ middle index

Related Repositories

EKAlgorithms

EKAlgorithms

EKAlgorithms contains some well known CS algorithms & data structures. ...

java-algorithms-implementation

java-algorithms-implementation

Algorithms and Data Structures implemented in Java ...

spire

spire

Powerful new number types and numeric abstractions for Scala. ...

rbush

rbush

RBush — a high-performance JavaScript R-tree-based 2D spatial index for points a ...

quick-select

quick-select

A jQuery plugin for quick selection of common options in select boxes. Selectual ...


Top Contributors

mourner

Releases

-   v1.0.0 zip tar