| Graph documentation | Contained in the Graph distribution. |
Graph::Traversal::BFS - breadth-first traversal of graphs
use Graph;
my $g = Graph->new;
$g->add_edge(...);
use Graph::Traversal::BFS;
my $b = Graph::Traversal::BFS->new(%opt);
$b->bfs; # Do the traversal.
With this class one can traverse a Graph in breadth-first order.
The callback parameters %opt are explained in Graph::Traversal.
The following methods are available:
Traverse the graph in depth-first order.
| Graph documentation | Contained in the Graph distribution. |
package Graph::Traversal::BFS; use strict; use Graph::Traversal; use base 'Graph::Traversal'; sub current { my $self = shift; $self->{ order }->[ 0 ]; } sub see { my $self = shift; shift @{ $self->{ order } }; } *bfs = \&Graph::Traversal::postorder; 1; __END__