Module: Plexus::CompleteBuilder
Overview
This class defines a complete graph of size n. This is easily done by using the base Graph class and implemeting the minimum methods needed to make it work. This is a good example to look at for making one’s own graph classes.
Instance Method Summary
collapse
#directed?, #vertex?, #vertices
Instance Method Details
#edge?(u, v = nil) ⇒ Boolean
57
58
59
60
|
# File 'lib/plexus/common.rb', line 57
def edge?(u, v = nil)
u, v = [u.source, v.target] if u.kind_of? Plexus::Arc
vertex?(u) && vertex?(v)
end
|
48
49
50
51
52
53
54
55
|
# File 'lib/plexus/common.rb', line 48
def edges
return @edges if @edges @edges = []
@size.times do |u|
@size.times { |v| @edges << Plexus::Edge[u+1, v+1]}
end
@edges
end
|
#initialize(n) ⇒ Object
43
44
45
46
|
# File 'lib/plexus/common.rb', line 43
def initialize(n)
@size = n
@edges = nil
end
|