k-dimensional tree data structure implemented with const generics, used for finding k-nearest neighbours (KNN).
```rust use kdt::*; use orderedfloat::OrderedFloat; use rand::{threadrng, Rng};
fn main() {
let mut points = {
let mut rng = threadrng();
(0..100)
.map(|| {
Point([
rng.genrange(-50.0..50.0),
rng.genrange(-50.0..50.0),
rng.genrange(-50.0..50.0),
])
})
.collect::clone
.map(|(dist, point)| (dist, point.clone()))
// by default results are sorted in descending order of squared Eucledian distance to the query point
.rev()
.collect::
```