Stopping BFS traversal after reachin a certain depth in RGL

Hi,

I am using RGL for some of the graph implementations. My requirements is
such that I need to find out all nodes that are at distance less than
3 from root.

For this, I thought of traversing the graph using BFS and stop the
traversal when i reach 4th level. But how do I do this?

regards,
Sandeep G

On 7 Mrz., 06:18, Sandeep G. [email protected]
wrote:

Hi,

I am usingRGLfor some of the graph implementations. My requirements is
such that I need to find out all nodes that are at distance less than
3 from root.

For this, I thought of traversing the graph using BFS and stop the
traversal when i reach 4th level. But how do I do this?

Take the example graph from the README
http://rgl.rubyforge.org/rgl/index.html:

require ‘rgl/adjacency’
require ‘rgl/traversal’

dg = RGL::DirectedAdjacencyGraph[1,2 ,2,3 ,2,4, 4,5, 6,4, 1,6]
bfs = dg.bfs_iterator(1)
bfs.attach_distance_map
bfs.each do |v|
dist = bfs.distance_to_root(v)
break if dist > 3
print v, ': ', dist, “\n”
end

Should produce this result:

1: 1
6: 2
2: 2
4: 3
3: 3

Regards
Horst