class FpGrowth::FpTree::Builder::HeaderTableBuilder

Public Class Methods

new(item, header_table) click to toggle source
# 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

Public Instance Methods

execute() click to toggle source
# 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) click to toggle source
# 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