Class: Classbench::Tier
- Inherits:
-
Object
- Object
- Classbench::Tier
- Defined in:
- lib/classbench/tier.rb
Overview
Class for representation of a n-ary prefix tree - trie.
Instance Attribute Summary collapse
-
#root ⇒ Object
Returns the value of attribute root.
Instance Method Summary collapse
-
#get_stats ⇒ Object
Erase not implemented/neccessary.
- #insert(prefix) ⇒ Object
Instance Attribute Details
#root ⇒ Object
Returns the value of attribute root.
5 6 7 |
# File 'lib/classbench/tier.rb', line 5 def root @root end |
Instance Method Details
#get_stats ⇒ Object
Erase not implemented/neccessary
36 37 38 39 40 |
# File 'lib/classbench/tier.rb', line 36 def get_stats return if not root root.compute_weights end |
#insert(prefix) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/classbench/tier.rb', line 7 def insert(prefix) self.root = TierNode.new(0) if not root # Empty prefix if prefix.size == 0 root.increment_prefixes return end current_node = self.root next_node = nil # For each char prefix.split('').each_with_index do |ch, i| next_node = current_node.subtree[ch] if next_node.nil? next_node = TierNode.new(i+1) current_node.subtree[ch] = next_node end current_node = next_node end current_node.increment_prefixes end |