Struct vpsearch::Tree [] [src]

pub struct Tree<Item: MetricSpace + Copy, Ownership> {
    // some 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>

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>

fn find_nearest(&self, needle: &Item, user_data: &Item::UserData) -> (usize, Item::Distance)