Class: DFS

Inherits:
Object
  • Object
show all
Defined in:
lib/visitor/dfs.rb

Direct Known Subclasses

OrderedDFS

Instance Method Summary collapse

Constructor Details

#initialize(visitor) ⇒ DFS

Returns a new instance of DFS.



2
3
4
# File 'lib/visitor/dfs.rb', line 2

def initialize(visitor)
  @visitor = visitor
end

Instance Method Details

#traverse(node) ⇒ Object



14
15
16
17
18
19
# File 'lib/visitor/dfs.rb', line 14

def traverse(node)
  if (@visitor.preVisit(node)) then
    self.traverseChildren(node.children)
    @visitor.postVisit(node)
  end
end

#traverseChildren(children) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/visitor/dfs.rb', line 6

def traverseChildren(children)
  if (children != nil)
    children.each do |key,value|
      self.traverse(value)
    end
  end
end