public class LongNearestNeighboursExact extends LongNearestNeighbours
Modifier and Type  Class and Description 

static class 
LongNearestNeighboursExact.Factory
NearestNeighboursFactory for producing
LongNearestNeighboursExact s. 
Modifier and Type  Field and Description 

protected LongFVComparator 
distance 
protected long[][] 
pnts 
Constructor and Description 

LongNearestNeighboursExact(long[][] pnts)
Construct the LongNearestNeighboursExact over the provided
dataset and using Euclidean distance.

LongNearestNeighboursExact(long[][] pnts,
LongFVComparator distance)
Construct the LongNearestNeighboursExact over the provided
dataset with the given distance function.

Modifier and Type  Method and Description 

double 
computeDistance(long[] a,
long[] b)
Compute the distance between two vectors using the underlying distance
comparison used by this class.

LongFVComparator 
distanceComparator()
Get the distance comparator

long[][] 
getPoints()
Get the underlying data points.

int 
numDimensions()
Get the number of dimensions of each vector in the dataset

void 
searchKNN(List<long[]> qus,
int K,
int[][] indices,
double[][] distances)
Search for the K nearest neighbours to each of the N queries, and return
the indices of each nearest neighbour and their respective distances.

void 
searchKNN(long[][] qus,
int K,
int[][] indices,
double[][] distances)
Search for the K nearest neighbours to each of the N queries, and return
the indices of each nearest neighbour and their respective distances.

List<IntDoublePair> 
searchKNN(long[] query,
int K)
Search for the K nearest neighbours to the given query and return an
ordered list of pairs containing the distance and index of each
neighbour.

void 
searchNN(List<long[]> qus,
int[] indices,
double[] distances)
Search for the nearest neighbour to each of the N queries, and return the
index of each nearest neighbour and the respective distance.

IntDoublePair 
searchNN(long[] query)
Search for the nearest neighbour to the given query and return a pair
containing the distance and index of that neighbour.

void 
searchNN(long[][] qus,
int[] indices,
double[] distances)
Search for the nearest neighbour to each of the N queries, and return the
index of each nearest neighbour and the respective distance.

int 
size()
Get the size of the dataset

distanceFunc, distanceFunc, distanceFunc, distanceFunc
protected final long[][] pnts
protected final LongFVComparator distance
public LongNearestNeighboursExact(long[][] pnts)
pnts
 the datasetpublic LongNearestNeighboursExact(long[][] pnts, LongFVComparator distance)
Note: If the distance function provides similarities rather than distances they are automatically inverted.
pnts
 the datasetdistance
 the distance functionpublic void searchNN(long[][] qus, int[] indices, double[] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsindices
 The return Ndimensional array for holding the indices of the
nearest neighbour of each respective query.distances
 The return Ndimensional array for holding the distances of
the nearest neighbour to each respective query.public void searchKNN(long[][] qus, int K, int[][] indices, double[][] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a kth nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsK
 the number of neighbours to findindices
 The return N*Kdimensional array for holding the indices of
the K nearest neighbours of each respective query.distances
 The return N*Kdimensional array for holding the distances of
the nearest neighbours of each respective query.public void searchNN(List<long[]> qus, int[] indices, double[] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsindices
 The return Ndimensional array for holding the indices of the
nearest neighbour of each respective query.distances
 The return Ndimensional array for holding the distances of
the nearest neighbour to each respective query.public void searchKNN(List<long[]> qus, int K, int[][] indices, double[][] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a kth nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsK
 the number of neighbours to findindices
 The return N*Kdimensional array for holding the indices of
the K nearest neighbours of each respective query.distances
 The return N*Kdimensional array for holding the distances of
the nearest neighbours of each respective query.public List<IntDoublePair> searchKNN(long[] query, int K)
NearestNeighbours
If k neighbours cannot be determined, then the resultant list might have fewer than k elements.
query
 the query vectorK
 the number of neighbours to search forpublic IntDoublePair searchNN(long[] query)
NearestNeighbours
If the nearestneighbour cannot be determined null
will be
returned.
query
 the query vectorpublic int numDimensions()
LongNearestNeighbours
numDimensions
in class LongNearestNeighbours
public int size()
NearestNeighbours
public long[][] getPoints()
public double computeDistance(long[] a, long[] b)
a
 the first vectorb
 the second vectorpublic LongFVComparator distanceComparator()