de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mktab
Class MkTabTreeNode<O,D extends Distance<D>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.persistent.AbstractPage
      extended by de.lmu.ifi.dbs.elki.index.tree.AbstractNode<E>
          extended by de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTreeNode<O,D,MkTabTreeNode<O,D>,MkTabEntry<D>>
              extended by de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mktab.MkTabTreeNode<O,D>
Type Parameters:
O - object type
D - distance type
All Implemented Interfaces:
Node<MkTabEntry<D>>, Page, Externalizable, Serializable

 class MkTabTreeNode<O,D extends Distance<D>>
extends AbstractMTreeNode<O,D,MkTabTreeNode<O,D>,MkTabEntry<D>>

Represents a node in a MkMax-Tree.


Field Summary
private static long serialVersionUID
           
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.tree.AbstractNode
entries, isLeaf, numEntries
 
Constructor Summary
MkTabTreeNode()
          Empty constructor for Externalizable interface.
MkTabTreeNode(int capacity, boolean isLeaf)
          Creates a MkTabTreeNode object.
 
Method Summary
 void adjustEntry(MkTabEntry<D> entry, DBID routingObjectID, D parentDistance, AbstractMTree<O,D,MkTabTreeNode<O,D>,MkTabEntry<D>> mTree)
          Adjusts the parameters of the entry representing this node (e.g. after insertion of new objects).
protected  void integrityCheckParameters(MkTabEntry<D> parentEntry, MkTabTreeNode<O,D> parent, int index, AbstractMTree<O,D,MkTabTreeNode<O,D>,MkTabEntry<D>> mTree)
          Tests, if the parameters of the entry representing this node, are correctly set.
protected  List<D> kNNDistances(DistanceQuery<O,D> distanceFunction)
          Determines and returns the knn distance of this node as the maximum knn distance of all entries.
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTreeNode
coveringRadius, integrityCheck
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.AbstractNode
addDirectoryEntry, addLeafEntry, children, deleteAllEntries, deleteEntry, equals, getCapacity, getEntries, getEntry, getNumEntries, isLeaf, readExternal, splitTo, splitTo, toString, writeExternal
 
Methods inherited from class de.lmu.ifi.dbs.elki.persistent.AbstractPage
getPageID, hashCode, isDirty, setDirty, setPageID
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.persistent.Page
getPageID, isDirty, setDirty, setPageID
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

MkTabTreeNode

public MkTabTreeNode()
Empty constructor for Externalizable interface.


MkTabTreeNode

public MkTabTreeNode(int capacity,
                     boolean isLeaf)
Creates a MkTabTreeNode object.

Parameters:
capacity - the capacity (maximum number of entries plus 1 for overflow) of this node
isLeaf - indicates whether this node is a leaf node
Method Detail

kNNDistances

protected List<D> kNNDistances(DistanceQuery<O,D> distanceFunction)
Determines and returns the knn distance of this node as the maximum knn distance of all entries.

Parameters:
distanceFunction - the distance function
Returns:
the knn distance of this node

adjustEntry

public void adjustEntry(MkTabEntry<D> entry,
                        DBID routingObjectID,
                        D parentDistance,
                        AbstractMTree<O,D,MkTabTreeNode<O,D>,MkTabEntry<D>> mTree)
Description copied from class: AbstractMTreeNode
Adjusts the parameters of the entry representing this node (e.g. after insertion of new objects). Subclasses may need to overwrite this method.

Overrides:
adjustEntry in class AbstractMTreeNode<O,D extends Distance<D>,MkTabTreeNode<O,D extends Distance<D>>,MkTabEntry<D extends Distance<D>>>
Parameters:
entry - the entry representing this node
routingObjectID - the id of the (new) routing object of this node
parentDistance - the distance from the routing object of this node to the routing object of the parent node
mTree - the M-Tree object holding this node

integrityCheckParameters

protected void integrityCheckParameters(MkTabEntry<D> parentEntry,
                                        MkTabTreeNode<O,D> parent,
                                        int index,
                                        AbstractMTree<O,D,MkTabTreeNode<O,D>,MkTabEntry<D>> mTree)
Tests, if the parameters of the entry representing this node, are correctly set. Subclasses may need to overwrite this method.

Overrides:
integrityCheckParameters in class AbstractMTreeNode<O,D extends Distance<D>,MkTabTreeNode<O,D extends Distance<D>>,MkTabEntry<D extends Distance<D>>>
Parameters:
parent - the parent holding the entry representing this node
index - the index of the entry in the parents child array
mTree - the underlying M-Tree
parentEntry - the entry representing the parent

Release 0.4.0 (2011-09-20_1324)