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>expandedHolds the ids of the expanded nodes.private static LoggingLOGThe 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 DeLiCluEntrycreateNewDirectoryEntry(DeLiCluNode node)Creates a new directory entry representing the specified node.protected DeLiCluNodecreateNewDirectoryNode()Creates a new directory node with the specified capacity.protected DeLiCluNodecreateNewLeafNode()Creates a new leaf node with the specified capacity.protected DeLiCluEntrycreateRootEntry()Creates an entry representing the root node.it.unimi.dsi.fastutil.ints.IntSetgetExpanded(DeLiCluEntry entry)Returns the nodes which are already expanded with the specified node.it.unimi.dsi.fastutil.ints.IntSetgetExpanded(DeLiCluNode entry)Returns the nodes which are already expanded with the specified node.protected LogginggetLogger()Get the (STATIC) logger for this class.voidsetExpanded(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:
createNewLeafNodein classIndexTree<DeLiCluNode,DeLiCluEntry>- Returns:
- a new leaf node
-
createNewDirectoryNode
protected DeLiCluNode createNewDirectoryNode()
Creates a new directory node with the specified capacity.- Specified by:
createNewDirectoryNodein 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:
createNewDirectoryEntryin 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:
createRootEntryin classIndexTree<DeLiCluNode,DeLiCluEntry>- Returns:
- an entry representing the root node
-
getLogger
protected Logging getLogger()
Description copied from class:IndexTreeGet the (STATIC) logger for this class.- Specified by:
getLoggerin classIndexTree<DeLiCluNode,DeLiCluEntry>- Returns:
- the static logger
-
-