
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>> extends AbstractMTree<O,D,MTreeNode<O,D>,MTreeEntry<D>>
| Modifier and Type | Field and Description | 
|---|---|
| private static Logging | LOGThe logger for this class. | 
distanceFunction, distanceQuery, EXTRA_INTEGRITY_CHECKSdirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum| Constructor and Description | 
|---|
| MTree(PageFile<MTreeNode<O,D>> pagefile,
     DistanceQuery<O,D> distanceQuery,
     DistanceFunction<O,D> distanceFunction)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| 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. | 
createEmptyRoot, distance, getDistanceFactory, getDistanceFunction, getDistanceQuery, getHeight, getLeaves, getSortedEntries, getSortedEntries, insert, insertAll, toStringcreateHeader, deleteNode, getFile, getNode, getNode, getPageFileStatistics, getPageID, getPageSize, getRoot, getRootEntry, getRootID, getRootPath, initialize, initialize, initializeFromFile, isRoot, postDelete, writeNodeprivate static final Logging LOG
public MTree(PageFile<MTreeNode<O,D>> pagefile, DistanceQuery<O,D> distanceQuery, DistanceFunction<O,D> distanceFunction)
pagefile - Page filedistanceQuery - Distance querydistanceFunction - Distance functionprotected void preInsert(MTreeEntry<D> entry)
protected void initializeCapacities(MTreeEntry<D> exampleLeaf)
IndexTreeprotected MTreeEntry<D> createNewDirectoryEntry(MTreeNode<O,D> node, DBID routingObjectID, D parentDistance)
AbstractMTreecreateNewDirectoryEntry 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 nodeprotected MTreeEntry<D> createRootEntry()
IndexTreeprotected MTreeNode<O,D> createNewLeafNode()
IndexTreeprotected MTreeNode<O,D> createNewDirectoryNode()
IndexTree