class BFS
Public Class Methods
new(visitor)
click to toggle source
# File lib/visitor/bfs.rb, line 2 def initialize(visitor) @visitor = visitor @q = Array.new end
Public Instance Methods
traverse(node)
click to toggle source
# File lib/visitor/bfs.rb, line 7 def traverse(node) @q.unshift(node) while (@q.size > 0) do node = @q.pop if (@visitor.preVisit(node)) then if (node.children != nil) then node.children.values.each do |child| @q.unshift(child) end end end end end