Class: FpGrowth::FpTree::Builder::HeaderTableBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/fpgrowth/fp_tree/builder/header_table_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(item, header_table) ⇒ HeaderTableBuilder

Returns a new instance of HeaderTableBuilder.



9
10
11
12
13
# File 'lib/fpgrowth/fp_tree/builder/header_table_builder.rb', line 9

def initialize(item, header_table)
  @header_table = header_table
  @item = item
  @new_header_table = HeaderTable.new()
end

Instance Method Details

#executeObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/fpgrowth/fp_tree/builder/header_table_builder.rb', line 15

def execute()
  # for each node n in header for item


  for node in @header_table.nodes[@item]
    # traverse tree from n to top
    traverse_from_node_top_top(node.parent, node.support)
  end
  return @new_header_table
end

#traverse_from_node_top_top(node, support) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/fpgrowth/fp_tree/builder/header_table_builder.rb', line 26

def traverse_from_node_top_top(node, support)
  if node.item
    # For each node m
    @new_header_table << [node.item, support, node]
    traverse_from_node_top_top(node.parent, support)
  end
end