|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.index.tree.IndexTree<N,E> de.lmu.ifi.dbs.elki.index.tree.metrical.MetricalIndexTree<O,D,N,E> de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTree<O,D,MTreeNode<O,D>,MTreeEntry<D>> de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mtree.MTree<O,D>
O
- the type of DatabaseObject to be stored in the metrical indexD
- the type of Distance used in the metrical index@Title(value="M-Tree") @Description(value="Efficient Access Method for Similarity Search in Metric Spaces") @Reference(authors="P. Ciaccia, M. Patella, P. Zezula", title="M-tree: An Efficient Access Method for Similarity Search in Metric Spaces", booktitle="VLDB\'97, Proceedings of 23rd International Conference on Very Large Data Bases, August 25-29, 1997, Athens, Greece", url="http://www.vldb.org/conf/1997/P426.PDF") public class MTree<O,D extends Distance<D>>
MTree is a metrical index structure based on the concepts of the M-Tree. Apart from organizing the objects it also provides several methods to search for certain object in the structure. Persistence is not yet ensured.
Field Summary | |
---|---|
private static Logging |
logger
The logger for this class. |
Fields inherited from class de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTree |
---|
distanceFunction, distanceQuery, extraIntegrityChecks |
Fields inherited from class de.lmu.ifi.dbs.elki.index.tree.IndexTree |
---|
dirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum |
Constructor Summary | |
---|---|
MTree(PageFile<MTreeNode<O,D>> pagefile,
DistanceQuery<O,D> distanceQuery,
DistanceFunction<O,D> distanceFunction)
Constructor. |
Method Summary | |
---|---|
protected MTreeEntry<D> |
createNewDirectoryEntry(MTreeNode<O,D> node,
DBID routingObjectID,
D parentDistance)
Creates a new directory entry representing the specified node. |
protected MTreeNode<O,D> |
createNewDirectoryNode()
Creates a new directory node with the specified capacity. |
protected MTreeNode<O,D> |
createNewLeafNode()
Creates a new leaf node with the specified capacity. |
protected MTreeEntry<D> |
createRootEntry()
Creates an entry representing the root node. |
protected Logging |
getLogger()
Get the (STATIC) logger for this class. |
protected void |
initializeCapacities(MTreeEntry<D> exampleLeaf)
Determines the maximum and minimum number of entries in a node. |
protected void |
preInsert(MTreeEntry<D> entry)
Does nothing because no operations are necessary before inserting an entry. |
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTree |
---|
batchNN, createEmptyRoot, distance, distance, doKNNQuery, getDistanceFactory, getDistanceFunction, getDistanceQuery, getHeight, getLeaves, getSortedEntries, getSortedEntries, insert, insertAll, toString |
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.IndexTree |
---|
createHeader, deleteNode, getFile, getNode, getNode, getPageFileStatistics, getPageID, getPageSize, getRoot, getRootEntry, getRootID, getRootPath, initialize, initialize, initializeFromFile, isRoot, postDelete, writeNode |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final Logging logger
Constructor Detail |
---|
public MTree(PageFile<MTreeNode<O,D>> pagefile, DistanceQuery<O,D> distanceQuery, DistanceFunction<O,D> distanceFunction)
pagefile
- Page filedistanceQuery
- Distance querydistanceFunction
- Distance functionMethod Detail |
---|
protected void preInsert(MTreeEntry<D> entry)
preInsert
in class IndexTree<MTreeNode<O,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
entry
- the entry to be insertedprotected void initializeCapacities(MTreeEntry<D> exampleLeaf)
IndexTree
initializeCapacities
in class IndexTree<MTreeNode<O,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
exampleLeaf
- an object that will be stored in the indexprotected MTreeEntry<D> createNewDirectoryEntry(MTreeNode<O,D> node, DBID routingObjectID, D parentDistance)
AbstractMTree
createNewDirectoryEntry
in class AbstractMTree<O,D extends Distance<D>,MTreeNode<O,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
node
- the node to be represented by the new entryroutingObjectID
- the id of the routing object of the nodeparentDistance
- the distance from the routing object of the node to
the routing object of the parent node
protected MTreeEntry<D> createRootEntry()
IndexTree
createRootEntry
in class IndexTree<MTreeNode<O,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
new MTreeDirectoryEntry(null, null, 0, null)
protected MTreeNode<O,D> createNewLeafNode()
IndexTree
createNewLeafNode
in class IndexTree<MTreeNode<O,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
protected MTreeNode<O,D> createNewDirectoryNode()
IndexTree
createNewDirectoryNode
in class IndexTree<MTreeNode<O,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
protected Logging getLogger()
IndexTree
getLogger
in class IndexTree<MTreeNode<O,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |