Class LinearScanPrimitiveKNNByObject<O>

  • Type Parameters:
    O - relation object type
    All Implemented Interfaces:
    elki.database.query.knn.KNNSearcher<O>, elki.database.query.LinearScanQuery
    Direct Known Subclasses:
    LinearScanEuclideanKNNByObject

    public class LinearScanPrimitiveKNNByObject<O>
    extends java.lang.Object
    implements elki.database.query.knn.KNNSearcher<O>, elki.database.query.LinearScanQuery
    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!

    Since:
    0.4.0
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private elki.distance.PrimitiveDistance<? super O> rawdist
      Unboxed distance function.
      protected elki.database.relation.Relation<? extends O> relation
      Relation to query.
    • Constructor Summary

      Constructors 
      Constructor Description
      LinearScanPrimitiveKNNByObject​(elki.database.query.distance.PrimitiveDistanceQuery<O> distanceQuery)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      elki.database.ids.KNNList getKNN​(O obj, int k)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • rawdist

        private elki.distance.PrimitiveDistance<? super O> rawdist
        Unboxed distance function.
      • relation

        protected elki.database.relation.Relation<? extends O> relation
        Relation to query.
    • Constructor Detail

      • LinearScanPrimitiveKNNByObject

        public LinearScanPrimitiveKNNByObject​(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:
        getKNN in interface elki.database.query.knn.KNNSearcher<O>