13 #ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_R_PLUS_TREE_SPLIT_HPP 14 #define MLPACK_CORE_TREE_RECTANGLE_TREE_R_PLUS_TREE_SPLIT_HPP 30 template<
typename SplitPolicyType,
31 template<
typename>
class SweepType>
42 template<
typename TreeType>
43 static void SplitLeafNode(TreeType* tree, std::vector<bool>& relevels);
51 template<
typename TreeType>
64 template<
typename TreeType>
65 static void SplitLeafNodeAlongPartition(
70 const typename TreeType::ElemType cut);
82 template<
typename TreeType>
83 static void SplitNonLeafNodeAlongPartition(
88 const typename TreeType::ElemType cut);
101 template<
typename TreeType>
102 static void AddFakeNodes(
const TreeType* tree, TreeType* emptyTree);
116 template<
typename TreeType>
117 static bool PartitionNode(
const TreeType* node,
119 typename TreeType::ElemType& minCut);
124 template<
typename TreeType>
125 static void InsertNodeIntoTree(TreeType* destTree, TreeType* srcNode);
132 #include "r_plus_tree_split_impl.hpp" 134 #endif // MLPACK_CORE_TREE_RECTANGLE_TREE_R_PLUS_TREE_SPLIT_HPP The RPlusTreeSplit class performs the split process of a node on overflow.
Linear algebra utility functions, generally performed on matrices or vectors.
SplitPolicyType SplitPolicy
static void SplitLeafNode(TreeType *tree, std::vector< bool > &relevels)
Split a leaf node using the "default" algorithm.
The core includes that mlpack expects; standard C++ includes and Armadillo.
static bool SplitNonLeafNode(TreeType *tree, std::vector< bool > &relevels)
Split a non-leaf node using the "default" algorithm.