brute-force implementation of heap More...
#include <index_heap.h>
Classes | |
| struct | Entry |
| an entry of the heap vector More... | |
Public Types | |
| typedef std::vector< Entry > | Entries |
| vector of entry, type for the storage of the tree | |
| typedef IT | Index |
| type of an index | |
| typedef Eigen::Matrix< Index, Eigen::Dynamic, 1 > | IndexVector |
| vector of indices | |
| typedef VT | Value |
| type of a value | |
| typedef Eigen::Matrix< Value, Eigen::Dynamic, 1 > | ValueVector |
| vector of values | |
Public Member Functions | |
| template<typename DI , typename DV > | |
| void | getData (const Eigen::MatrixBase< DI > &indices, const Eigen::MatrixBase< DV > &values) const |
| get the data from the heap | |
| const VT & | headValue () const |
| get the largest value of the heap | |
| IndexHeapBruteForceVector (const size_t size) | |
| Constructor. | |
| void | replaceHead (const Index index, const Value value) |
| replace the largest value of the heap | |
| void | reset () |
| reset to the empty heap | |
| void | sort () |
| sort the entries, from the smallest to the largest | |
Public Attributes | |
| Entries | data |
| storage for the tree | |
| const VT & | headValueRef |
| reference to the largest value in the tree, to optimise access speed | |
| const size_t | sizeMinusOne |
| pre-competed size minus one, to optimise access speed | |
brute-force implementation of heap
It uses a vector and linear search, which provides replacement in O(n), but with a very low constant overhead.
Definition at line 261 of file index_heap.h.
| typedef std::vector<Entry> Nabo::IndexHeapBruteForceVector< IT, VT >::Entries |
vector of entry, type for the storage of the tree
Definition at line 280 of file index_heap.h.
| typedef IT Nabo::IndexHeapBruteForceVector< IT, VT >::Index |
type of an index
Definition at line 264 of file index_heap.h.
| typedef Eigen::Matrix<Index, Eigen::Dynamic, 1> Nabo::IndexHeapBruteForceVector< IT, VT >::IndexVector |
vector of indices
Definition at line 282 of file index_heap.h.
| typedef VT Nabo::IndexHeapBruteForceVector< IT, VT >::Value |
type of a value
Definition at line 266 of file index_heap.h.
| typedef Eigen::Matrix<Value, Eigen::Dynamic, 1> Nabo::IndexHeapBruteForceVector< IT, VT >::ValueVector |
vector of values
Definition at line 284 of file index_heap.h.
| Nabo::IndexHeapBruteForceVector< IT, VT >::IndexHeapBruteForceVector | ( | const size_t | size | ) | [inline] |
Constructor.
| size | number of elements in the heap |
Definition at line 295 of file index_heap.h.
| void Nabo::IndexHeapBruteForceVector< IT, VT >::getData | ( | const Eigen::MatrixBase< DI > & | indices, |
| const Eigen::MatrixBase< DV > & | values | ||
| ) | const [inline] |
get the data from the heap
| indices | index vector |
| values | value vector |
Definition at line 340 of file index_heap.h.
| const VT& Nabo::IndexHeapBruteForceVector< IT, VT >::headValue | ( | ) | const [inline] |
get the largest value of the heap
Definition at line 311 of file index_heap.h.
| void Nabo::IndexHeapBruteForceVector< IT, VT >::replaceHead | ( | const Index | index, |
| const Value | value | ||
| ) | [inline] |
replace the largest value of the heap
| index | new point index |
| value | new distance value |
Definition at line 316 of file index_heap.h.
| void Nabo::IndexHeapBruteForceVector< IT, VT >::reset | ( | ) | [inline] |
reset to the empty heap
Definition at line 303 of file index_heap.h.
| void Nabo::IndexHeapBruteForceVector< IT, VT >::sort | ( | ) | [inline] |
sort the entries, from the smallest to the largest
Definition at line 331 of file index_heap.h.
| Entries Nabo::IndexHeapBruteForceVector< IT, VT >::data |
storage for the tree
Definition at line 287 of file index_heap.h.
| const VT& Nabo::IndexHeapBruteForceVector< IT, VT >::headValueRef |
reference to the largest value in the tree, to optimise access speed
Definition at line 289 of file index_heap.h.
| const size_t Nabo::IndexHeapBruteForceVector< IT, VT >::sizeMinusOne |
pre-competed size minus one, to optimise access speed
Definition at line 291 of file index_heap.h.