diff options
-rw-r--r-- | lib/Graph/Implicit.pm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Graph/Implicit.pm b/lib/Graph/Implicit.pm index 095de51..49935dd 100644 --- a/lib/Graph/Implicit.pm +++ b/lib/Graph/Implicit.pm @@ -67,8 +67,6 @@ sub is_bipartite { # traversal -# XXX: if we can generalize @bag to allow for a heap, then we can implement -# prim with this too sub _traversal { my $self = shift; my ($start, $code, $create, $notempty, $insert, $remove) = @_; @@ -117,6 +115,13 @@ sub boruvka { } sub prim { + my $self = shift; + my ($start, $code) = @_; + return $self->_traversal($start, $code, + sub { Heap::Simple->new(elements => 'Any') }, + sub { $_[0]->count }, + sub { $_[0]->key_insert($_[2], $_[1]) }, + sub { $_[0]->extract_top }); } sub kruskal { |