mlpack 3.4.2
spill_single_tree_traverser.hpp
Go to the documentation of this file.
1
17#ifndef MLPACK_CORE_TREE_SPILL_TREE_SPILL_SINGLE_TREE_TRAVERSER_HPP
18#define MLPACK_CORE_TREE_SPILL_TREE_SPILL_SINGLE_TREE_TRAVERSER_HPP
19
20#include <mlpack/prereqs.hpp>
21
22#include "spill_tree.hpp"
23
24namespace mlpack {
25namespace tree {
26
27template<typename MetricType,
28 typename StatisticType,
29 typename MatType,
30 template<typename HyperplaneMetricType> class HyperplaneType,
31 template<typename SplitMetricType, typename SplitMatType>
32 class SplitType>
33template<typename RuleType, bool Defeatist>
34class SpillTree<MetricType, StatisticType, MatType, HyperplaneType, SplitType>::
36{
37 public:
41 SpillSingleTreeTraverser(RuleType& rule);
42
52 void Traverse(const size_t queryIndex,
53 SpillTree& referenceNode,
54 const bool bruteForce = false);
55
57 size_t NumPrunes() const { return numPrunes; }
59 size_t& NumPrunes() { return numPrunes; }
60
61 private:
63 RuleType& rule;
64
66 size_t numPrunes;
67};
68
69} // namespace tree
70} // namespace mlpack
71
72// Include implementation.
73#include "spill_single_tree_traverser_impl.hpp"
74
75#endif
A generic single-tree traverser for hybrid spill trees; see spill_single_tree_traverser....
SpillSingleTreeTraverser(RuleType &rule)
Instantiate the single tree traverser with the given rule set.
void Traverse(const size_t queryIndex, SpillTree &referenceNode, const bool bruteForce=false)
Traverse the tree with the given point.
A hybrid spill tree is a variant of binary space trees in which the children of a node can "spill ove...
Definition: spill_tree.hpp:74
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
The core includes that mlpack expects; standard C++ includes and Armadillo.
Definition of generalized hybrid spill tree (SpillTree).