Nabo::IndexHeapSTL< IT, VT > Struct Template Reference

balanced-tree implementation of heap More...

#include <index_heap.h>

List of all members.

Classes

struct  Entry
 an entry of the heap tree More...

Public Types

typedef IT Index
 type of an index
typedef VT Value
 type of a value
typedef std::vector< EntryEntries
 vector of entry, type for the storage of the tree
typedef Eigen::Matrix< Index,
Eigen::Dynamic, 1 > 
IndexVector
 vector of indices
typedef Eigen::Matrix< Value,
Eigen::Dynamic, 1 > 
ValueVector
 vector of values

Public Member Functions

 IndexHeapSTL (const size_t size)
 Constructor.
void reset ()
 reset to the empty heap
const VT & headValue () const
 get the largest value of the heap
void replaceHead (const Index index, const Value value)
 replace the largest value of the heap
void sort ()
 sort the entries, from the smallest to the largest
template<typename DI , typename DV >
void getData (const Eigen::MatrixBase< DI > &indices, const Eigen::MatrixBase< DV > &values) const
 get the data from the heap

Public Attributes

Entries data
 storage for the tree
const VT & headValueRef
 reference to the largest value in the tree, to optimise access speed
const Entries::iterator insertIt
 iterator to the insertion position in the tree, to optimise access speed

Detailed Description

template<typename IT, typename VT>
struct Nabo::IndexHeapSTL< IT, VT >

balanced-tree implementation of heap

It uses a binary heap, which provides replacement in O(log(n)), however the constant overhead is significative.


Constructor & Destructor Documentation

template<typename IT , typename VT >
Nabo::IndexHeapSTL< IT, VT >::IndexHeapSTL ( const size_t  size  )  [inline]

Constructor.

Parameters:
size number of elements in the heap

Member Function Documentation

template<typename IT , typename VT >
template<typename DI , typename DV >
void Nabo::IndexHeapSTL< IT, VT >::getData ( const Eigen::MatrixBase< DI > &  indices,
const Eigen::MatrixBase< DV > &  values 
) const [inline]

get the data from the heap

Parameters:
indices index vector
values value vector
template<typename IT , typename VT >
const VT& Nabo::IndexHeapSTL< IT, VT >::headValue (  )  const [inline]

get the largest value of the heap

Returns:
the smallest value in the heap
template<typename IT , typename VT >
void Nabo::IndexHeapSTL< IT, VT >::replaceHead ( const Index  index,
const Value  value 
) [inline]

replace the largest value of the heap

Parameters:
index new point index
value new distance value

The documentation for this struct was generated from the following file:
Generated on Fri May 3 12:48:10 2013 for libnabo by  doxygen 1.6.3