de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkmax
Class MkMaxTreeNode<O extends DatabaseObject,D extends Distance<D>>
java.lang.Object
de.lmu.ifi.dbs.elki.persistent.AbstractPage<N>
de.lmu.ifi.dbs.elki.index.tree.AbstractNode<N,E>
de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTreeNode<O,D,MkMaxTreeNode<O,D>,MkMaxEntry<D>>
de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkmax.MkMaxTreeNode<O,D>
- Type Parameters:
O
- the type of DatabaseObject to be stored in the MkMaxTreeD
- the type of Distance used in the MkMaxTree
- All Implemented Interfaces:
- MetricalNode<MkMaxTreeNode<O,D>,MkMaxEntry<D>>, Node<MkMaxTreeNode<O,D>,MkMaxEntry<D>>, Page<MkMaxTreeNode<O,D>>, Externalizable, Serializable
class MkMaxTreeNode<O extends DatabaseObject,D extends Distance<D>>
- extends AbstractMTreeNode<O,D,MkMaxTreeNode<O,D>,MkMaxEntry<D>>
Represents a node in an MkMaxTree
.
- Author:
- Elke Achtert
Method Summary |
void |
adjustEntry(MkMaxEntry<D> entry,
Integer routingObjectID,
D parentDistance,
AbstractMTree<O,D,MkMaxTreeNode<O,D>,MkMaxEntry<D>> mTree)
Calls the super method
and adjust additionally the k-nearest neighbor distance of this node
as the maximum of the k-nearest neighbor distances of all its entries. |
protected MkMaxTreeNode<O,D> |
createNewDirectoryNode(int capacity)
Creates a new directory node with the specified capacity. |
protected MkMaxTreeNode<O,D> |
createNewLeafNode(int capacity)
Creates a new leaf node with the specified capacity. |
protected void |
integrityCheckParameters(MkMaxEntry<D> parentEntry,
MkMaxTreeNode<O,D> parent,
int index,
AbstractMTree<O,D,MkMaxTreeNode<O,D>,MkMaxEntry<D>> mTree)
Calls the super method and tests if
the k-nearest neighbor distance of this node is correctly set. |
protected D |
kNNDistance(DistanceFunction<O,D> distanceFunction)
Determines and returns the k-nearest neighbor distance of this node as the maximum
of the k-nearest neighbor distances of all entries. |
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.AbstractNode |
addDirectoryEntry, addLeafEntry, children, deleteAllEntries, deleteEntry, equals, getCapacity, getEntries, getEntry, getNumEntries, increaseEntries, isLeaf, readExternal, toString, writeExternal |
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
MkMaxTreeNode
public MkMaxTreeNode()
- Empty constructor for Externalizable interface.
MkMaxTreeNode
public MkMaxTreeNode(PageFile<MkMaxTreeNode<O,D>> file,
int capacity,
boolean isLeaf)
- Creates a new MkMaxTreeNode object.
- Parameters:
file
- the file storing the MkMaxTreecapacity
- the capacity (maximum number of entries plus 1 for overflow)
of this nodeisLeaf
- indicates whether this node is a leaf node
createNewLeafNode
protected MkMaxTreeNode<O,D> createNewLeafNode(int capacity)
- Description copied from class:
AbstractNode
- Creates a new leaf node with the specified capacity.
- Specified by:
createNewLeafNode
in class AbstractNode<MkMaxTreeNode<O extends DatabaseObject,D extends Distance<D>>,MkMaxEntry<D extends Distance<D>>>
- Parameters:
capacity
- the capacity of the new node
- Returns:
- a new MkMaxTreeNode which is a leaf node
createNewDirectoryNode
protected MkMaxTreeNode<O,D> createNewDirectoryNode(int capacity)
- Description copied from class:
AbstractNode
- Creates a new directory node with the specified capacity.
- Specified by:
createNewDirectoryNode
in class AbstractNode<MkMaxTreeNode<O extends DatabaseObject,D extends Distance<D>>,MkMaxEntry<D extends Distance<D>>>
- Parameters:
capacity
- the capacity of the new node
- Returns:
- a new MkMaxTreeNode which is a directory node
kNNDistance
protected D kNNDistance(DistanceFunction<O,D> distanceFunction)
- Determines and returns the k-nearest neighbor distance of this node as the maximum
of the k-nearest neighbor distances of all entries.
- Parameters:
distanceFunction
- the distance function
- Returns:
- the knn distance of this node
adjustEntry
public void adjustEntry(MkMaxEntry<D> entry,
Integer routingObjectID,
D parentDistance,
AbstractMTree<O,D,MkMaxTreeNode<O,D>,MkMaxEntry<D>> mTree)
- Calls the super method
and adjust additionally the k-nearest neighbor distance of this node
as the maximum of the k-nearest neighbor distances of all its entries.
- Overrides:
adjustEntry
in class AbstractMTreeNode<O extends DatabaseObject,D extends Distance<D>,MkMaxTreeNode<O extends DatabaseObject,D extends Distance<D>>,MkMaxEntry<D extends Distance<D>>>
- Parameters:
entry
- the entry representing this noderoutingObjectID
- the id of the (new) routing object of this nodeparentDistance
- the distance from the routing object of this node
to the routing object of the parent nodemTree
- the M-Tree object holding this node
integrityCheckParameters
protected void integrityCheckParameters(MkMaxEntry<D> parentEntry,
MkMaxTreeNode<O,D> parent,
int index,
AbstractMTree<O,D,MkMaxTreeNode<O,D>,MkMaxEntry<D>> mTree)
- Calls the super method and tests if
the k-nearest neighbor distance of this node is correctly set.
- Overrides:
integrityCheckParameters
in class AbstractMTreeNode<O extends DatabaseObject,D extends Distance<D>,MkMaxTreeNode<O extends DatabaseObject,D extends Distance<D>>,MkMaxEntry<D extends Distance<D>>>
- Parameters:
parentEntry
- the entry representing the parentparent
- the parent holding the entry representing this nodeindex
- the index of the entry in the parents child arrymTree
- the M-Tree holding this node