class MiniGraph::Core::Search::DFS


Depth-First Search


Public Instance Methods

visit(index, visited=Array.new(graph.size, false)) { |index| ... } click to toggle source
# File lib/mini_graph/core/search.rb, line 37
def visit(index, visited=Array.new(graph.size, false), &block)
  visited[index] = true
  yield index

  graph.adjacent_vertices(index).each do |vi|
    visit(vi, visited, &block) unless visited[vi]
  end
end