#median #partition #select #no-std #nth-element

no-std kth

Find the k-th order element of an array (one of which is the median)

1 unstable release

Uses old Rust 2015

0.1.0 May 29, 2017

#15 in #median

Download history 9/week @ 2023-12-11 1/week @ 2024-01-01 4/week @ 2024-01-08 6/week @ 2024-01-15 13/week @ 2024-01-22 21/week @ 2024-02-05 13/week @ 2024-02-12 27/week @ 2024-02-19 21/week @ 2024-02-26 23/week @ 2024-03-04 25/week @ 2024-03-11 28/week @ 2024-03-18 32/week @ 2024-03-25

111 downloads per month
Used in 3 crates

Apache-2.0 OR MIT

18KB
340 lines

kth

Methods for partitioning arrays & finding the k-th order element.

The median is the element with order equal to half of the array length.

crates.io

travis-ci

docs (release)

docs (master)

Rust RFC issue #1470 talks about adding a similar interface.


lib.rs:

Algorithms to find the K-th order element

The k-th order element is the element which would be at the k-th index if the array was sorted.

Finding the median is a special case of finding the k-th order element, to find the median, select k to be half the array length.

Partitioning is commonly performed when searching for the K-th order element. An array is partitioned if all elements before a given element X are less than X, and all elements after a that same element X are greater than X.

Example

use kth::SliceExtKth;

let mut x = [6, 6, 8 ,1, 2];
// sorted =  1  2  6  6  8
let m = x.len()/2;
x.partition_by_kth(m);
println!("Median is {}", x[m]);
assert_eq!(x[x.len()/2], 6);

Dependencies

~25KB