Class AbstractMkTreeUnified<O,N extends AbstractMTreeNode<O,N,E>,E extends MTreeEntry,S extends MkTreeSettings<O,N,E>>
- java.lang.Object
-
- elki.index.tree.IndexTree<N,E>
-
- elki.index.tree.metrical.MetricalIndexTree<O,N,E>
-
- elki.index.tree.metrical.mtreevariants.AbstractMTree<O,N,E,S>
-
- elki.index.tree.metrical.mtreevariants.mktrees.AbstractMkTree<O,N,E,S>
-
- elki.index.tree.metrical.mtreevariants.mktrees.AbstractMkTreeUnified<O,N,E,S>
-
- Type Parameters:
O
- the type of DatabaseObject to be stored in the metrical indexN
- the type of MetricalNode used in the metrical indexE
- the type of MetricalEntry used in the metrical indexS
- the type of Settings used.
- All Implemented Interfaces:
Index
public abstract class AbstractMkTreeUnified<O,N extends AbstractMTreeNode<O,N,E>,E extends MTreeEntry,S extends MkTreeSettings<O,N,E>> extends AbstractMkTree<O,N,E,S>
Abstract class for all M-Tree variants supporting processing of reverse k-nearest neighbor queries by using the k-nn distances of the entries, where k is less than or equal to the given parameter.- Since:
- 0.2
- Author:
- Elke Achtert
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class elki.index.tree.metrical.mtreevariants.AbstractMTree
AbstractMTree.Statistics
-
-
Field Summary
-
Fields inherited from class elki.index.tree.metrical.mtreevariants.mktrees.AbstractMkTree
knnq
-
Fields inherited from class elki.index.tree.metrical.mtreevariants.AbstractMTree
settings, statistics
-
Fields inherited from class elki.index.tree.IndexTree
dirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected TreeIndexHeader
createHeader()
Creates a header for this index structure which is an instance ofTreeIndexHeader
.int
getKmax()
Get the value of k_max.void
insertAll(java.util.List<E> entries)
Bulk insert.protected abstract void
kNNdistanceAdjustment(E entry, java.util.Map<DBID,KNNList> knnLists)
Performs a distance adjustment in the subtree of the specified root entry.-
Methods inherited from class elki.index.tree.metrical.mtreevariants.mktrees.AbstractMkTree
batchNN, distance, reverseKNNQuery
-
Methods inherited from class elki.index.tree.metrical.mtreevariants.AbstractMTree
createEmptyRoot, createNewDirectoryEntry, distance, doExtraIntegrityChecks, getDistance, getHeight, getLeaves, getSortedEntries, insert, logStatistics, toString
-
Methods inherited from class elki.index.tree.IndexTree
createNewDirectoryNode, createNewLeafNode, createRootEntry, deleteNode, getFile, getLogger, getNode, getNode, getPageID, getPageSize, getRootEntry, getRootID, getRootPath, initialize, initialize, initializeCapacities, initializeFromFile, isRoot, postDelete, preInsert, writeNode
-
-
-
-
Method Detail
-
createHeader
protected TreeIndexHeader createHeader()
Description copied from class:IndexTree
Creates a header for this index structure which is an instance ofTreeIndexHeader
. Subclasses may need to overwrite this method if they need a more specialized header.- Overrides:
createHeader
in classIndexTree<N extends AbstractMTreeNode<O,N,E>,E extends MTreeEntry>
- Returns:
- a new
MkTreeHeader
-
insertAll
public void insertAll(java.util.List<E> entries)
Description copied from class:AbstractMTree
Bulk insert.- Overrides:
insertAll
in classAbstractMTree<O,N extends AbstractMTreeNode<O,N,E>,E extends MTreeEntry,S extends MkTreeSettings<O,N,E>>
- Parameters:
entries
- Entries to insert
-
kNNdistanceAdjustment
protected abstract void kNNdistanceAdjustment(E entry, java.util.Map<DBID,KNNList> knnLists)
Performs a distance adjustment in the subtree of the specified root entry.- Parameters:
entry
- the root entry of the current subtreeknnLists
- a map of knn lists for each leaf entry
-
getKmax
public int getKmax()
Get the value of k_max.- Returns:
- k_max value.
-
-