Method: NetworkX::Graph#each_bfs_edge
- Defined in:
- lib/networkx/traversals/bfs.rb
#each_bfs_edge(node) ⇒ Object
[EXPERIMENTAL]
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/networkx/traversals/bfs.rb', line 91 def each_bfs_edge(node) return enum_for(:each_bfs_edge, node) unless block_given? que = [node] used = {node => true} while que[0] node = que.shift @adj[node].each do |v, _data| next if used[v] used[v] = true yield(node, v) que << v end end end |