15 #ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_X_TREE_SPLIT_HPP
16 #define MLPACK_CORE_TREE_RECTANGLE_TREE_X_TREE_SPLIT_HPP
44 template<
typename TreeType>
45 static void SplitLeafNode(TreeType *tree,std::vector<bool>& relevels);
51 template<
typename TreeType>
58 template<
typename TreeType>
59 static void InsertNodeIntoTree(TreeType* destTree, TreeType* srcNode);
65 template<
typename ElemType,
typename SecondType>
66 static bool PairComp(
const std::pair<ElemType, SecondType>& p1,
67 const std::pair<ElemType, SecondType>& p2)
69 return p1.first < p2.first;
78 #include "x_tree_split_impl.hpp"
static bool SplitNonLeafNode(TreeType *tree, std::vector< bool > &relevels)
Split a non-leaf node using the "default" algorithm.
The core includes that mlpack expects; standard C++ includes and Armadillo.
const double MAX_OVERLAP
The X-tree paper says that a maximum allowable overlap of 20% works well.
static void SplitLeafNode(TreeType *tree, std::vector< bool > &relevels)
Split a leaf node using the algorithm described in "The R*-tree: An Efficient and Robust Access metho...
A Rectangle Tree has new points inserted at the bottom.