Struct vpsearch::Tree
[−]
[src]
pub struct Tree<Item: MetricSpace + Copy, Ownership> { /* fields omitted */ }
Methods
impl<Item: MetricSpace<UserData=()> + Copy> Tree<Item, UserDataOwned>
[src]
fn new(items: &[Item]) -> Tree<Item, UserDataOwned>
@see Tree::new_with_user_data_owned
impl<T, Item: MetricSpace<UserData=T> + Copy> Tree<Item, UserDataOwned>
[src]
fn find_nearest(&self, needle: &Item) -> (usize, Item::Distance)
Finds item closest to given needle (that can be any item) and returns index of the item in items array from vp_init.
@param needle The query. @return Index of the nearest item found and the distance from the nearest item
impl<Item: MetricSpace + Copy> Tree<Item, UserDataOwned>
[src]
fn new_with_user_data_owned(items: &[Item],
user_data: Item::UserData)
-> Tree<Item, UserDataOwned>
user_data: Item::UserData)
-> Tree<Item, UserDataOwned>
Create a Vantage Point tree for fast nearest neighbor search.
@param items Array of items that will be searched. @param user_data Reference to any object that is passed down to item.distance()
impl<Item: MetricSpace + Copy> Tree<Item, UserDataByRef>
[src]
fn new_with_user_data_ref(items: &[Item],
user_data: &Item::UserData)
-> Tree<Item, UserDataByRef>
user_data: &Item::UserData)
-> Tree<Item, UserDataByRef>
fn find_nearest(&self,
needle: &Item,
user_data: &Item::UserData)
-> (usize, Item::Distance)
needle: &Item,
user_data: &Item::UserData)
-> (usize, Item::Distance)