Package elki.database.query.knn
Class LinearScanEuclideanKNNByObject<O extends elki.data.NumberVector>
- java.lang.Object
-
- elki.database.query.knn.LinearScanPrimitiveKNNByObject<O>
-
- elki.database.query.knn.LinearScanEuclideanKNNByObject<O>
-
- Type Parameters:
O- relation object type
- All Implemented Interfaces:
elki.database.query.knn.KNNSearcher<O>,elki.database.query.LinearScanQuery
public class LinearScanEuclideanKNNByObject<O extends elki.data.NumberVector> extends LinearScanPrimitiveKNNByObject<O>
Instance of this query for a particular database.This is a subtle optimization: for primitive queries, it is clearly faster to retrieve the query object from the relation only once, and to first find the nearest neighbors with squared Euclidean distances, then only compute the square root for the results.
- Since:
- 0.7.0
- Author:
- Erich Schubert
-
-
Field Summary
-
Fields inherited from class elki.database.query.knn.LinearScanPrimitiveKNNByObject
relation
-
-
Constructor Summary
Constructors Constructor Description LinearScanEuclideanKNNByObject(elki.database.query.distance.PrimitiveDistanceQuery<O> distanceQuery)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description elki.database.ids.KNNListgetKNN(O obj, int k)
-
-
-
Constructor Detail
-
LinearScanEuclideanKNNByObject
public LinearScanEuclideanKNNByObject(elki.database.query.distance.PrimitiveDistanceQuery<O> distanceQuery)
Constructor.- Parameters:
distanceQuery- Distance function to use
-
-
Method Detail
-
getKNN
public elki.database.ids.KNNList getKNN(O obj, int k)
- Specified by:
getKNNin interfaceelki.database.query.knn.KNNSearcher<O extends elki.data.NumberVector>- Overrides:
getKNNin classLinearScanPrimitiveKNNByObject<O extends elki.data.NumberVector>
-
-