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