#include <Trie.hpp>
Public Member Functions | |
Trie (const unsigned long init_counter) | |
const Trie * | is_included (const set< itemtype > &an_itemset, set< itemtype >::const_iterator item_it) const |
It decides whether the given itemset is included in the trie or not. | |
void | find_candidate (vector< itemtype >::const_iterator it_basket_upper_bound, const itemtype distance_from_candidate, vector< itemtype >::const_iterator it_basket, const unsigned long counter_incr=1) |
Increases the counter for those itemsets that is contained by the given basket. | |
void | delete_infrequent (const double min_occurrence, const itemtype distance_from_candidate) |
Deletes the tries that represent infrequent itemsets. | |
void | show_content_preorder () const |
Shows the content in a preorder manner. | |
~Trie () | |
Private Member Functions | |
void | add_empty_state (const itemtype item, const unsigned long init_counter=0) |
Adds an empty state to the trie. | |
Private Attributes | |
unsigned long | counter |
counter stores the occurrence of the itemset represented by the Trie | |
vector< Edge > | edgevector |
edgevector stores the edges of the root the trie. | |
itemtype | maxpath |
maxpath stores the length of the longest path starting from the root node. | |
Friends | |
class | Apriori_Trie |
We can regard the trie as a recursive data structure. It has a root node and a list of (sub)trie. We can reach a subtree by a labeled edge (link). Since the root of the trie represents an itemset the counter stands for the occurrence. For the sake of fast traversal we also store the length of the maximal path starting from the root, and the edges are stored ordered according to their label.
Definition at line 46 of file Trie.hpp.
|
Definition at line 23 of file Trie.cpp. Referenced by add_empty_state(). |
|
Definition at line 139 of file Trie.cpp. References edgevector. |
|
Adds an empty state to the trie.
Definition at line 151 of file Trie.cpp. References edgevector, itemtype, Edge::label, Edge::subtrie, and Trie(). Referenced by Apriori_Trie::candidate_generation_assist(), and Apriori_Trie::insert_frequent_items(). |
|
Deletes the tries that represent infrequent itemsets.
Definition at line 94 of file Trie.cpp. References edgevector, itemtype, and maxpath. Referenced by Apriori_Trie::delete_infrequent(). |
|
Increases the counter for those itemsets that is contained by the given basket.
Definition at line 61 of file Trie.cpp. References counter, edgevector, and itemtype. Referenced by Apriori_Trie::find_candidate(). |
|
It decides whether the given itemset is included in the trie or not.
Definition at line 37 of file Trie.cpp. References Edge_point_less(), and edgevector. Referenced by Apriori_Trie::assoc_rule_find(), and Apriori_Trie::is_all_subset_frequent(). |
|
Shows the content in a preorder manner.
Definition at line 127 of file Trie.cpp. References counter, edgevector, and maxpath. Referenced by Apriori_Trie::show_content_preorder(). |
|
|
|
counter stores the occurrence of the itemset represented by the Trie
Definition at line 85 of file Trie.hpp. Referenced by Apriori_Trie::assoc_rule_assist(), Apriori_Trie::assoc_rule_find(), find_candidate(), show_content_preorder(), Apriori_Trie::write_content_to_file(), and Apriori_Trie::write_content_to_file_assist(). |
|
edgevector stores the edges of the root the trie. edgevector is always sorted! Definition at line 91 of file Trie.hpp. Referenced by add_empty_state(), Apriori_Trie::assoc_rule_assist(), Apriori_Trie::candidate_generation_assist(), Apriori_Trie::candidate_generation_two(), delete_infrequent(), Apriori_Trie::delete_infrequent_two(), find_candidate(), Apriori_Trie::insert_frequent_items(), is_included(), show_content_preorder(), Apriori_Trie::write_content_to_file_assist(), and ~Trie(). |
|
maxpath stores the length of the longest path starting from the root node.
Definition at line 95 of file Trie.hpp. Referenced by Apriori_Trie::candidate_generation(), Apriori_Trie::candidate_generation_assist(), Apriori_Trie::candidate_generation_two(), delete_infrequent(), Apriori_Trie::delete_infrequent_two(), Apriori_Trie::insert_frequent_items(), Apriori_Trie::longest_path(), show_content_preorder(), and Apriori_Trie::write_content_to_file(). |