Module: DepthFirstSearch

Included in:
Graph
Defined in:
lib/honey_mushroom/depth_first_search.rb

Instance Method Summary collapse

Instance Method Details

#depth_first_search_include?(node_id, target_node, visited_nodes = Hash.new {0}) ⇒ Boolean

Returns:

  • (Boolean)


3
4
5
6
7
8
9
10
11
12
# File 'lib/honey_mushroom/depth_first_search.rb', line 3

def depth_first_search_include?(node_id, target_node, visited_nodes=Hash.new {0})
  return true if node_id == target_node
  @nodes[node_id].edges.each do |child|
    visited_nodes[child] += 1
    return false if visited_nodes[child] >= 2
    result = depth_first_search_include?(@nodes[child].id, target_node, visited_nodes)
    return true unless result == false
  end
  false
end