11 releases

Uses old Rust 2015

0.5.0 Mar 17, 2023
0.4.0 May 28, 2021
0.3.0 Jan 11, 2018
0.2.0 Jan 31, 2017
0.1.4 Feb 20, 2016

#774 in Text processing

Download history 4575/week @ 2023-12-18 5373/week @ 2023-12-25 4644/week @ 2024-01-01 5634/week @ 2024-01-08 6247/week @ 2024-01-15 5746/week @ 2024-01-22 7939/week @ 2024-01-29 4171/week @ 2024-02-05 2149/week @ 2024-02-12 5007/week @ 2024-02-19 5690/week @ 2024-02-26 4915/week @ 2024-03-04 4079/week @ 2024-03-11 4918/week @ 2024-03-18 4845/week @ 2024-03-25 4547/week @ 2024-04-01

18,462 downloads per month
Used in 6 crates (2 directly)

MIT license

22KB
351 lines

rust-bk-tree

A BK-tree implementation in Rust.

Build Status Crates.io Clippy Linting Result

Documentation

Examples

Here's some example usages:

use bk_tree::{BKTree, metrics};

// A BK-tree using the Levenshtein distance metric.
let mut tree: BKTree<&str> = BKTree::new(metrics::levenshtein);

tree.add("foo");
tree.add("bar");
tree.add("baz");
tree.add("bup");

tree.find("bar", 0); // returns vec!["bar"]
tree.find("bar", 1); // returns vec!["bar", "baz"]
tree.find("bup", 2); // returns vec!["bar", "baz", "bup"]

Benchmarks

To run benchmarks, you need to have the nightly version of Rust installed. If you do (and use multirust, for example), then you can run

rustup run nightly cargo bench

to run benchmarks.

Dependencies

~225–405KB