HilbertRTreeSplit< splitOrder > Class Template Reference

The splitting procedure for the Hilbert R tree. More...

Static Public Member Functions

template
<
typename
TreeType
>
static void SplitLeafNode (TreeType *tree, std::vector< bool > &relevels)
 Split a leaf node using the "default" algorithm. More...

 
template
<
typename
TreeType
>
static bool SplitNonLeafNode (TreeType *tree, std::vector< bool > &relevels)
 Split a non-leaf node using the "default" algorithm. More...

 

Detailed Description


template<size_t splitOrder = 2>
class mlpack::tree::HilbertRTreeSplit< splitOrder >

The splitting procedure for the Hilbert R tree.

The template parameter splitOrder is the order of the splitting policy. The Hilbert R tree splits a node on overflow, turning splitOrder nodes into (splitOrder + 1) nodes.

Template Parameters
splitOrderNumber of nodes to split.

Definition at line 29 of file hilbert_r_tree_split.hpp.

Member Function Documentation

◆ SplitLeafNode()

static void SplitLeafNode ( TreeType *  tree,
std::vector< bool > &  relevels 
)
static

Split a leaf node using the "default" algorithm.

If necessary, this split will propagate upwards through the tree.

Parameters
nodeThe node that is being split.
relevelsNot used.

◆ SplitNonLeafNode()

static bool SplitNonLeafNode ( TreeType *  tree,
std::vector< bool > &  relevels 
)
static

Split a non-leaf node using the "default" algorithm.

If this is a root node, the tree increases in depth.

Parameters
nodeThe node that is being split.
relevelsNot used.

The documentation for this class was generated from the following file: