Package elki.index.distancematrix
Class PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher
- java.lang.Object
-
- elki.index.distancematrix.PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher
-
- All Implemented Interfaces:
elki.database.ids.DBIDIter,elki.database.ids.DBIDRef,elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef>,elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>,elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef>,elki.utilities.datastructures.iterator.Iter,elki.utilities.datastructures.QuickSelect.Adapter<PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher>
- Enclosing class:
- PrecomputedDistanceMatrix<O>
public class PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher extends java.lang.Object implements elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>, elki.utilities.datastructures.QuickSelect.Adapter<PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher>
Range query using the distance matrix.- Author:
- Erich Schubert
-
-
Field Summary
Fields Modifier and Type Field Description (package private) double[]distsSorted distances(package private) int[]idxObject indexes(package private) elki.database.ids.DBIDArrayIteritIterator for mapping.(package private) intlbsorted"side effect" sorting positions(package private) intoffCurrent position(package private) intsortedSorting position(package private) doublethresholdQuery threshold(package private) intupsorted"side effect" sorting positions
-
Constructor Summary
Constructors Constructor Description PrecomputedDistancePrioritySearcher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>advance()doubleallLowerBound()intcompare(PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher data, int i, int j)doublecomputeExactDistance()elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>decreaseCutoff(double threshold)doublegetApproximateAccuracy()doublegetApproximateDistance()doublegetLowerBound()doublegetUpperBound()intinternalGetIndex()voidisSorted(PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher data, int begin, int end)private voidpartialSort(int target)Partially sort the data.elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>search(elki.database.ids.DBIDRef query)voidswap(PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher data, int i, int j)booleanvalid()
-
-
-
Field Detail
-
it
elki.database.ids.DBIDArrayIter it
Iterator for mapping.
-
off
int off
Current position
-
sorted
int sorted
Sorting position
-
lbsorted
int lbsorted
"side effect" sorting positions
-
upsorted
int upsorted
"side effect" sorting positions
-
threshold
double threshold
Query threshold
-
idx
int[] idx
Object indexes
-
dists
double[] dists
Sorted distances
-
-
Method Detail
-
search
public elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef> search(elki.database.ids.DBIDRef query)
- Specified by:
searchin interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
partialSort
private void partialSort(int target)
Partially sort the data.- Parameters:
target- Target
-
advance
public elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef> advance()
- Specified by:
advancein interfaceelki.database.ids.DBIDIter- Specified by:
advancein interfaceelki.utilities.datastructures.iterator.Iter- Specified by:
advancein interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
valid
public boolean valid()
- Specified by:
validin interfaceelki.utilities.datastructures.iterator.Iter
-
decreaseCutoff
public elki.database.query.PrioritySearcher<elki.database.ids.DBIDRef> decreaseCutoff(double threshold)
- Specified by:
decreaseCutoffin interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
internalGetIndex
public int internalGetIndex()
- Specified by:
internalGetIndexin interfaceelki.database.ids.DBIDRef
-
computeExactDistance
public double computeExactDistance()
- Specified by:
computeExactDistancein interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
getApproximateDistance
public double getApproximateDistance()
- Specified by:
getApproximateDistancein interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
getApproximateAccuracy
public double getApproximateAccuracy()
- Specified by:
getApproximateAccuracyin interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
getLowerBound
public double getLowerBound()
- Specified by:
getLowerBoundin interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
getUpperBound
public double getUpperBound()
- Specified by:
getUpperBoundin interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
allLowerBound
public double allLowerBound()
- Specified by:
allLowerBoundin interfaceelki.database.query.PrioritySearcher<elki.database.ids.DBIDRef>
-
compare
public int compare(PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher data, int i, int j)
- Specified by:
comparein interfaceelki.utilities.datastructures.QuickSelect.Adapter<PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher>
-
swap
public void swap(PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher data, int i, int j)
- Specified by:
swapin interfaceelki.utilities.datastructures.QuickSelect.Adapter<PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher>
-
isSorted
public void isSorted(PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher data, int begin, int end)
- Specified by:
isSortedin interfaceelki.utilities.datastructures.QuickSelect.Adapter<PrecomputedDistanceMatrix.PrecomputedDistancePrioritySearcher>
-
-