13 #ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_R_TREE_SPLIT_HPP 14 #define MLPACK_CORE_TREE_RECTANGLE_TREE_R_TREE_SPLIT_HPP 33 template<
typename TreeType>
34 static void SplitLeafNode(TreeType *tree,std::vector<bool>& relevels);
40 template<
typename TreeType>
47 template<
typename TreeType>
48 static void GetPointSeeds(
const TreeType *tree,
int& i,
int& j);
53 template<
typename TreeType>
54 static void GetBoundSeeds(
const TreeType *tree,
int& i,
int& j);
59 template<
typename TreeType>
69 template<
typename TreeType>
79 template<
typename TreeType>
87 #include "r_tree_split_impl.hpp" static void GetBoundSeeds(const TreeType *tree, int &i, int &j)
Get the seeds for splitting a non-leaf node.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
static void InsertNodeIntoTree(TreeType *destTree, TreeType *srcNode)
Insert a node into another node.
static bool SplitNonLeafNode(TreeType *tree, std::vector< bool > &relevels)
Split a non-leaf node using the "default" algorithm.
static void SplitLeafNode(TreeType *tree, std::vector< bool > &relevels)
Split a leaf node using the "default" algorithm.
static void AssignNodeDestNode(TreeType *oldTree, TreeType *treeOne, TreeType *treeTwo, const int intI, const int intJ)
Assign nodes to the two new nodes.
static void AssignPointDestNode(TreeType *oldTree, TreeType *treeOne, TreeType *treeTwo, const int intI, const int intJ)
Assign points to the two new nodes.
A Rectangle Tree has new points inserted at the bottom.
static void GetPointSeeds(const TreeType *tree, int &i, int &j)
Get the seeds for splitting a leaf node.