class NumberingVisitor

use BaseVisitor counters to set the values

Public Class Methods

new() click to toggle source
Calls superclass method BaseVisitor::new
# File lib/visitor/numbering_visitor.rb, line 129
def initialize
  @bitCalculator = BitUtil.new
  super
end

Public Instance Methods

postVisit(node) click to toggle source
# File lib/visitor/numbering_visitor.rb, line 141
def postVisit(node)
  node.numberNodesInSubtree = @preCounter - node.dfsNumber + 1
end
preVisit(node) click to toggle source
Calls superclass method BaseVisitor#preVisit
# File lib/visitor/numbering_visitor.rb, line 134
def preVisit(node)
  super(node)
  node.dfsNumber = @preCounter
  node.binaryTreeHeight = @bitCalculator.rightBit(@preCounter)
  return true
end