|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Policy: count distinct elements in a range. More...
#include <tpl_mo_algorithm.H>
Public Types | |
| using | answer_type = size_t |
Public Member Functions | |
| void | init (const Array< T > &, size_t) |
| void | add (const Array< T > &data, size_t idx) |
| void | remove (const Array< T > &data, size_t idx) |
| answer_type | answer () const |
Public Attributes | |
| MapOLhash< T, size_t > | freq |
| size_t | distinct = 0 |
Policy: count distinct elements in a range.
Maintains a frequency map and a running distinct count. add: if freq goes from 0 to 1, increment count. remove: if freq goes from 1 to 0, decrement count.
| T | Element type (must be hashable). |
Definition at line 411 of file tpl_mo_algorithm.H.
| using Aleph::Distinct_Count_Policy< T >::answer_type = size_t |
Definition at line 413 of file tpl_mo_algorithm.H.
Definition at line 425 of file tpl_mo_algorithm.H.
References Aleph::Distinct_Count_Policy< T >::distinct, and Aleph::Distinct_Count_Policy< T >::freq.
|
inline |
Definition at line 437 of file tpl_mo_algorithm.H.
References Aleph::Distinct_Count_Policy< T >::distinct.
Definition at line 418 of file tpl_mo_algorithm.H.
References Aleph::Distinct_Count_Policy< T >::distinct, Aleph::divide_and_conquer_partition_dp(), and Aleph::Distinct_Count_Policy< T >::freq.
Definition at line 431 of file tpl_mo_algorithm.H.
References Aleph::Distinct_Count_Policy< T >::distinct, and Aleph::Distinct_Count_Policy< T >::freq.
| size_t Aleph::Distinct_Count_Policy< T >::distinct = 0 |
Definition at line 416 of file tpl_mo_algorithm.H.
Referenced by Aleph::Distinct_Count_Policy< T >::add(), Aleph::Distinct_Count_Policy< T >::answer(), Aleph::Distinct_Count_Policy< T >::init(), and Aleph::Distinct_Count_Policy< T >::remove().
Definition at line 415 of file tpl_mo_algorithm.H.
Referenced by Aleph::Distinct_Count_Policy< T >::add(), Aleph::Distinct_Count_Policy< T >::init(), and Aleph::Distinct_Count_Policy< T >::remove().