public class LinearScanPrimitiveDistanceKNNQuery<O,D extends Distance<D>> extends AbstractDistanceKNNQuery<O,D> implements LinearScanQuery
distanceQuery
relation
HINT_BULK, HINT_EXACT, HINT_HEAVY_USE, HINT_NO_CACHE, HINT_OPTIMIZED_ONLY, HINT_SINGLE
Constructor and Description |
---|
LinearScanPrimitiveDistanceKNNQuery(PrimitiveDistanceQuery<O,D> distanceQuery)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
List<KNNList<D>> |
getKNNForBulkDBIDs(ArrayDBIDs ids,
int k)
Bulk query method
|
KNNList<D> |
getKNNForDBID(DBIDRef id,
int k)
Get the k nearest neighbors for a particular id.
|
KNNList<D> |
getKNNForObject(O obj,
int k)
Get the k nearest neighbors for a particular id.
|
protected void |
linearScanBatchKNN(List<O> objs,
List<KNNHeap<D>> heaps)
Perform a linear scan batch kNN for primitive distance functions.
|
getRelation
public LinearScanPrimitiveDistanceKNNQuery(PrimitiveDistanceQuery<O,D> distanceQuery)
distanceQuery
- Distance function to useprotected void linearScanBatchKNN(List<O> objs, List<KNNHeap<D>> heaps)
objs
- Objects listheaps
- Heaps arraypublic KNNList<D> getKNNForDBID(DBIDRef id, int k)
KNNQuery
getKNNForDBID
in interface KNNQuery<O,D extends Distance<D>>
getKNNForDBID
in class AbstractDistanceKNNQuery<O,D extends Distance<D>>
id
- query object IDk
- Number of neighbors requestedpublic KNNList<D> getKNNForObject(O obj, int k)
KNNQuery
getKNNForObject
in interface KNNQuery<O,D extends Distance<D>>
getKNNForObject
in class AbstractDistanceKNNQuery<O,D extends Distance<D>>
obj
- Query objectk
- Number of neighbors requestedpublic List<KNNList<D>> getKNNForBulkDBIDs(ArrayDBIDs ids, int k)
KNNQuery
getKNNForBulkDBIDs
in interface KNNQuery<O,D extends Distance<D>>
getKNNForBulkDBIDs
in class AbstractDistanceKNNQuery<O,D extends Distance<D>>
ids
- query object IDsk
- Number of neighbors requested