12#ifndef MLPACK_CORE_TREE_BINARY_SPACE_TREE_TRAITS_HPP
13#define MLPACK_CORE_TREE_BINARY_SPACE_TREE_TRAITS_HPP
27template<
typename MetricType,
28 typename StatisticType,
30 template<
typename BoundMetricType,
typename...>
class BoundType,
31 template<
typename SplitBoundType,
typename SplitMatType>
81template<
typename MetricType,
82 typename StatisticType,
84 template<
typename BoundMetricType,
typename...>
class BoundType>
131template<
typename MetricType,
132 typename StatisticType,
134 template<
typename BoundMetricType,
typename...>
class BoundType>
182template<
typename MetricType,
183 typename StatisticType,
185 template<
typename SplitBoundType,
typename SplitMatType>
188 bound::BallBound, SplitType>>
206template<
typename MetricType,
207 typename StatisticType,
209 template<
typename SplitBoundType,
typename SplitMatType>
212 bound::HollowBallBound, SplitType>>
230template<
typename MetricType,
231 typename StatisticType,
233 template<
typename SplitBoundType,
typename SplitMatType>
236 bound::CellBound, SplitType>>
Bounds that are useful for binary space partitioning trees.
A binary space partitioning tree, such as a KD-tree or a ball tree.
This class splits a node by a random hyperplane.
This class splits a binary space tree.
The TreeTraits class provides compile-time information on the characteristics of a given tree type.
static const bool UniqueNumDescendants
This is true if the NumDescendants() method doesn't include duplicated points.
static const bool FirstPointIsCentroid
This is true if the first point of each node is the centroid of its bound.
static const bool HasOverlappingChildren
This is true if the subspaces represented by the children of a node can overlap.
static const bool RearrangesDataset
This is true if the tree rearranges points in the dataset when it is built.
static const bool HasSelfChildren
This is true if the points contained in the first child of a node (Child(0)) are also contained in th...
static const bool BinaryTree
This is true if the tree always has only two children.
static const bool HasDuplicatedPoints
This is true if a point can be included in more than one node.
Linear algebra utility functions, generally performed on matrices or vectors.