Class DeLiCluTree
- java.lang.Object
-
- elki.index.tree.IndexTree<N,E>
-
- elki.index.tree.spatial.rstarvariants.AbstractRStarTree<N,E,S>
-
- elki.index.tree.spatial.rstarvariants.NonFlatRStarTree<DeLiCluNode,DeLiCluEntry,RTreeSettings>
-
- elki.index.tree.spatial.rstarvariants.deliclu.DeLiCluTree
-
- All Implemented Interfaces:
Index
- Direct Known Subclasses:
DeLiCluTreeIndex
public abstract class DeLiCluTree extends NonFlatRStarTree<DeLiCluNode,DeLiCluEntry,RTreeSettings>
DeLiCluTree is a spatial index structure based on an R-Tree. DeLiCluTree is designed for the DeLiClu algorithm, having in each node a boolean array which indicates whether the child nodes are already handled by the DeLiClu algorithm.- Since:
- 0.1
- Author:
- Elke Achtert
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
AbstractRStarTree.Statistics
-
-
Field Summary
Fields Modifier and Type Field Description private it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<it.unimi.dsi.fastutil.ints.IntSet>
expanded
Holds the ids of the expanded nodes.private static Logging
LOG
The logger for this class.-
Fields inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
EXTRA_INTEGRITY_CHECKS, height, settings, statistics
-
Fields inherited from class elki.index.tree.IndexTree
dirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum
-
-
Constructor Summary
Constructors Constructor Description DeLiCluTree(PageFile<DeLiCluNode> pagefile, RTreeSettings settings)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DeLiCluEntry
createNewDirectoryEntry(DeLiCluNode node)
Creates a new directory entry representing the specified node.protected DeLiCluNode
createNewDirectoryNode()
Creates a new directory node with the specified capacity.protected DeLiCluNode
createNewLeafNode()
Creates a new leaf node with the specified capacity.protected DeLiCluEntry
createRootEntry()
Creates an entry representing the root node.it.unimi.dsi.fastutil.ints.IntSet
getExpanded(DeLiCluEntry entry)
Returns the nodes which are already expanded with the specified node.it.unimi.dsi.fastutil.ints.IntSet
getExpanded(DeLiCluNode entry)
Returns the nodes which are already expanded with the specified node.protected Logging
getLogger()
Get the (STATIC) logger for this class.void
setExpanded(DeLiCluEntry entry1, DeLiCluEntry entry2)
Marks the nodes with the specified ids as expanded.-
Methods inherited from class elki.index.tree.spatial.rstarvariants.NonFlatRStarTree
bulkLoad, computeHeight, createEmptyRoot, hasOverflow, hasUnderflow
-
Methods inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
adjustTree, canBulkLoad, choosePath, containedTest, createBulkLeafNodes, createNewRoot, deletePath, doExtraIntegrityChecks, findPathToObject, getHeight, getLeaves, initializeCapacities, initializeFromFile, insertEntry, insertLeaf, logStatistics, reInsert, setHeight, toString
-
Methods inherited from class elki.index.tree.IndexTree
createHeader, deleteNode, getFile, getNode, getNode, getPageID, getPageSize, getRootEntry, getRootID, getRootPath, initialize, initialize, isRoot, postDelete, preInsert, writeNode
-
-
-
-
Field Detail
-
LOG
private static final Logging LOG
The logger for this class.
-
expanded
private it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<it.unimi.dsi.fastutil.ints.IntSet> expanded
Holds the ids of the expanded nodes.
-
-
Constructor Detail
-
DeLiCluTree
public DeLiCluTree(PageFile<DeLiCluNode> pagefile, RTreeSettings settings)
Constructor.- Parameters:
pagefile
- Page filesettings
- Settings
-
-
Method Detail
-
setExpanded
public void setExpanded(DeLiCluEntry entry1, DeLiCluEntry entry2)
Marks the nodes with the specified ids as expanded.- Parameters:
entry1
- the first nodeentry2
- the second node
-
getExpanded
public it.unimi.dsi.fastutil.ints.IntSet getExpanded(DeLiCluEntry entry)
Returns the nodes which are already expanded with the specified node.- Parameters:
entry
- the id of the node for which the expansions should be returned- Returns:
- the nodes which are already expanded with the specified node
-
getExpanded
public it.unimi.dsi.fastutil.ints.IntSet getExpanded(DeLiCluNode entry)
Returns the nodes which are already expanded with the specified node.- Parameters:
entry
- the id of the node for which the expansions should be returned- Returns:
- the nodes which are already expanded with the specified node
-
createNewLeafNode
protected DeLiCluNode createNewLeafNode()
Creates a new leaf node with the specified capacity.- Specified by:
createNewLeafNode
in classIndexTree<DeLiCluNode,DeLiCluEntry>
- Returns:
- a new leaf node
-
createNewDirectoryNode
protected DeLiCluNode createNewDirectoryNode()
Creates a new directory node with the specified capacity.- Specified by:
createNewDirectoryNode
in classIndexTree<DeLiCluNode,DeLiCluEntry>
- Returns:
- a new directory node
-
createNewDirectoryEntry
protected DeLiCluEntry createNewDirectoryEntry(DeLiCluNode node)
Creates a new directory entry representing the specified node.- Specified by:
createNewDirectoryEntry
in classAbstractRStarTree<DeLiCluNode,DeLiCluEntry,RTreeSettings>
- Parameters:
node
- the node to be represented by the new entry- Returns:
- the newly created directory entry
-
createRootEntry
protected DeLiCluEntry createRootEntry()
Creates an entry representing the root node.- Specified by:
createRootEntry
in classIndexTree<DeLiCluNode,DeLiCluEntry>
- Returns:
- an entry representing the root node
-
getLogger
protected Logging getLogger()
Description copied from class:IndexTree
Get the (STATIC) logger for this class.- Specified by:
getLogger
in classIndexTree<DeLiCluNode,DeLiCluEntry>
- Returns:
- the static logger
-
-