Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abonander/vec-vp-tree

A vantage-pont-tree backed by a contiguous `Vec` for better data locality.
https://github.com/abonander/vec-vp-tree

Last synced: 2 months ago
JSON representation

A vantage-pont-tree backed by a contiguous `Vec` for better data locality.

Awesome Lists containing this project

README

        

`vec-vp-tree` [![Build Status](https://travis-ci.org/abonander/vec-vp-tree.svg?branch=master)](https://travis-ci.org/abonander/vec-vp-tree) [![On Crates.io](https://img.shields.io/crates/v/vec-vp-tree.svg)](https://crates.io/crates/vec-vp-tree)
=========

A [vantage-point tree][vp-tree] implementation backed by a vector for good performance with **zero** lines of `unsafe`
code.

Provides bulk insert/removal operations (to maintain balance without too much extra bookkeeping),
and the [*k*-Nearest Neighbors (k-NN)][knn] algorithm.

Multiple distance functions are provided by default, including Hamming and Levenshtein distance functions for strings.

[vp-tree]: https://en.wikipedia.org/wiki/Vantage-point_tree
[knn]: https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm

###[Documentation](http://docs.rs/vec-vp-tree/)

License
-------

Licensed under either of

* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.