15#ifndef MLPACK_CORE_TREE_BINARY_SPACE_TREE_DUAL_TREE_TRAVERSER_HPP
16#define MLPACK_CORE_TREE_BINARY_SPACE_TREE_DUAL_TREE_TRAVERSER_HPP
25template<
typename MetricType,
26 typename StatisticType,
28 template<
typename BoundMetricType,
typename...>
class BoundType,
29 template<
typename SplitBoundType,
typename SplitMatType>
31template<
typename RuleType>
88 typename RuleType::TraversalInfoType traversalInfo;
95#include "dual_tree_traverser_impl.hpp"
Definition of generalized binary space partitioning tree (BinarySpaceTree).
A dual-tree traverser for binary space trees; see dual_tree_traverser.hpp.
size_t & NumScores()
Modify the number of times a node combination was scored.
size_t & NumBaseCases()
Modify the number of times a base case was calculated.
size_t & NumVisited()
Modify the number of visited combinations.
size_t NumVisited() const
Get the number of visited combinations.
size_t NumScores() const
Get the number of times a node combination was scored.
DualTreeTraverser(RuleType &rule)
Instantiate the dual-tree traverser with the given rule set.
size_t NumPrunes() const
Get the number of prunes.
void Traverse(BinarySpaceTree &queryNode, BinarySpaceTree &referenceNode)
Traverse the two trees.
size_t & NumPrunes()
Modify the number of prunes.
size_t NumBaseCases() const
Get the number of times a base case was calculated.
A binary space partitioning tree, such as a KD-tree or a ball tree.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.