14#ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_DUAL_TREE_TRAVERSER_HPP
15#define MLPACK_CORE_TREE_RECTANGLE_TREE_DUAL_TREE_TRAVERSER_HPP
24template<
typename MetricType,
25 typename StatisticType,
29 template<
typename>
class AuxiliaryInformationType>
30template<
typename RuleType>
75 typename RuleType::TraversalInfoType travInfo;
78 static bool nodeComparator(
const NodeAndScore& obj1,
79 const NodeAndScore& obj2)
81 return obj1.score < obj2.score;
101 typename RuleType::TraversalInfoType traversalInfo;
108#include "dual_tree_traverser_impl.hpp"
A dual tree traverser for rectangle type trees.
void Traverse(RectangleTree &queryNode, RectangleTree &referenceNode)
Traverse the two trees.
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.
size_t & NumPrunes()
Modify the number of prunes.
size_t NumBaseCases() const
Get the number of times a base case was calculated.
A rectangle type tree tree, such as an R-tree or X-tree.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.