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