Inheritance diagram for bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >:
Public Types | |
typedef TYPENAME NonOrdFPStructure< INPUT, BUILDTREEALLOC, FIRSTLEVEL >::fptree_t | fptree_t |
typedef TYPENAME NonOrdFPStructure< INPUT, BUILDTREEALLOC, FIRSTLEVEL >::index_t | index_t |
Public Member Functions | |
TDNonOrdFPStructure (INPUT *_inp, item_t maxitem, counter_t _minsupp) | |
~TDNonOrdFPStructure () | |
item_t DINLINE | checkSinglePath (fptree_t *t, item_t curritem, item_t spdepth) |
SinglePathIterator DINLINE | getSinglePathIterator (fptree_t *tree, item_t curritem) |
void DINLINE | zeroDataDense (fptree_t *intr, item_t curritem) |
void DINLINE | zeroDataADense (fptree_t *intr, item_t curritem) |
void DINLINE | aggregateSparse (index_t *itemstarts, index_t *parents, counter_t *freqs, counter_t *ocounters, counter_t *ncounters, item_t curritem) |
void DINLINE | aggregateDense (index_t *itemstarts, index_t *parents, counter_t *freqs, counter_t *ocounters, counter_t *ncounters, item_t curritem) |
fptree_t *DINLINE | projectTree (fptree_t *intr, item_t curritem) |
bool DINLINE | dropNode (fptree_t *t, item_t curritem, index_t nodeidx) |
void DINLINE | compactTree (fptree_t *t, item_t projitem) |
void DINLINE | compactTreeSparse (fptree_t *t, item_t projitem) |
void DINLINE | deallocTree (fptree_t *t, fptree_t *parent, item_t projitem) |
counter_t | getTransactionCount () |
NonOrdFPStructure (INPUT *_inp, item_t maxitem) | |
construct a structure from transactions. | |
fptree_t * | getFullTree () |
fptree_t * | getProjTree (item_t item) |
bool DINLINE | checkSinglePath (fptree_t *t, item_t curritem) |
void DINLINE | handleSinglePath (fptree_t *t, item_t curritem, O_M *out) |
Protected Member Functions | |
void | buildTree (item_t maxitem) |
Create the unconditional tree. | |
void | buildAllL1Trees (item_t maxitem) |
Create all first-level conditional trees. | |
void | simultProject (item_t maxitem) |
Protected Attributes | |
fptree_t | fulltree |
std::vector< fptree_t > | l1trees |
counter_t | transaction_count |
Private Attributes | |
counter_t | minsupp |
counter_t * | multiples |
index_t * | last |
index_t * | projmap |
mapping of old-nodeidx to new-nodeidx | |
index_t * | projlastidx |
the node index of the last child of a node (on the current level) | |
index_t * | sparsenodes |
hold a list of sparse nodes | |
index_t ** | nextfreesparsenode |
the next free element in the above array on a particular level | |
blockstack< stacksingleblock< counter_t, true > > | nodealloc |
allocator following the recursion for nodes (counter,parent) | |
blockstack< stacksingleblock< counter_t, false > > | headeralloc |
allocator following the recursion for headers (itemstarts,freqs) | |
blockstack< stacksingleblock< index_t, false > > | projheaderalloc |
allocator following the recursion for projections (itemstarts) | |
blockstack< stacksingleblock< index_t, false > > | projnodealloc |
allocator following the recursion for projections (itemstarts) | |
singlesalloc< fptree_t, 100 > | treealloc |
allocator for the fptree_t * structures | |
Friends | |
class | SimultProject |
Classes | |
class | SinglePathIterator |
!!!IMPORTANT!!! due to the reusal of previous fp-tree memory for the projected counters, in TD mode the NEELevel1 gives WRONG RESULTS. But nothing warns you about that... (In fact the issue appears only at very low support levels on very dense datasets).
If the caller uses NEE optimization, then he must ensure that the NEE list contains only larger numbered items than curritem (the item you project). This is due to the single path export returns all items, even if they are considered as closed and put on the NEE list. Also the correct frequencies are always recalculated and replaced as the projections are performed.
Definition at line 599 of file nonordfp.cpp.
|
Reimplemented from bracz::NonOrdFPStructure< INPUT, BUILDTREEALLOC, FIRSTLEVEL >. Definition at line 601 of file nonordfp.cpp. |
|
Reimplemented from bracz::NonOrdFPStructure< INPUT, BUILDTREEALLOC, FIRSTLEVEL >. Definition at line 602 of file nonordfp.cpp. |
|
|
|
|
|
Create all first-level conditional trees.
Definition at line 194 of file nonordfp.cpp. References bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::inp, bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::l1trees, and bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::transaction_count. |
|
Create the unconditional tree.
Definition at line 174 of file nonordfp.cpp. References bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::fulltree, bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::inp, and bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::transaction_count. |
|
Definition at line 568 of file nonordfp.cpp. |
|
Definition at line 703 of file nonordfp.cpp. |
|
|
|
|
|
Definition at line 544 of file nonordfp.cpp. References FLBuildSingleTree, and bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::fulltree. |
|
Definition at line 552 of file nonordfp.cpp. References FLBuildSingleTree, and bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::l1trees. |
|
Definition at line 713 of file nonordfp.cpp. |
|
Definition at line 73 of file nonordfp.cpp. References bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::transaction_count. |
|
Definition at line 572 of file nonordfp.cpp. |
|
construct a structure from transactions.
Definition at line 526 of file nonordfp.cpp. References bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::buildAllL1Trees(), bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::buildTree(), FLBuildAllL1Trees, FLBuildSingleTree, FLSimultProject, bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::inp, and bracz::NonOrdFPStructure< INPUT, BUILDTREE, FIRSTLEVEL >::simultProject(). |
|
|
|
Definition at line 729 of file nonordfp.cpp. |
|
Definition at line 721 of file nonordfp.cpp. |
|
Definition at line 493 of file nonordfp.cpp. |
|
Definition at line 85 of file nonordfp.cpp. |
|
allocator following the recursion for headers (itemstarts,freqs)
Definition at line 625 of file nonordfp.cpp. Referenced by bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >::deallocTree(), and bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >::projectTree(). |
|
Definition at line 87 of file nonordfp.cpp. |
|
|
Definition at line 605 of file nonordfp.cpp. |
|
|
|
|
|
the node index of the last child of a node (on the current level)
Definition at line 614 of file nonordfp.cpp. Referenced by bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >::compactTree(), bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >::compactTreeSparse(), and bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >::TDNonOrdFPStructure(). |
|
|
|
|
Definition at line 90 of file nonordfp.cpp. |
|
allocator for the fptree_t * structures
Definition at line 631 of file nonordfp.cpp. Referenced by bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >::deallocTree(), and bracz::TDNonOrdFPStructure< INPUT, BUILDTREEALLOC, SINGLE, TD, PROJECT, PROJECTDELETECLOSED, PROJMERGENODES, FIRSTLEVEL, SPARSEAGGR >::projectTree(). |