Class: Ogr::Digraph
Overview
Class implements directed graph
Class Method Summary collapse
-
.new_dense(args) ⇒ Object
Creates new graph implemented as matrix.
Instance Method Summary collapse
-
#in_degree(x) ⇒ Object
Returns number of incoming edges to given vertex.
-
#initialize(edges, store = :list) ⇒ Digraph
constructor
A new instance of Digraph.
-
#out_degree(x) ⇒ Object
Returns number of outcoming edges to given vertex.
Methods inherited from Graph
#add, #add_edge, #add_edges, #degree, #each_edge, #each_vertex, #edge?, #edges, #get_edge, #index, #neighbors, #remove, #vc, #vertex_size, #vertexes
Constructor Details
#initialize(edges, store = :list) ⇒ Digraph
Returns a new instance of Digraph.
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/ogr/graphs/digraph.rb', line 4 def initialize(edges, store = :list) @map = IndexedSet.new case store when :list @g = GraphAsList.new when :matrix @g = GraphAsMatrix.new end add_edges(edges) end |
Class Method Details
.new_dense(args) ⇒ Object
Creates new graph implemented as matrix.
16 17 18 |
# File 'lib/ogr/graphs/digraph.rb', line 16 def self.new_dense(args) new(args, :matrix) end |
Instance Method Details
#in_degree(x) ⇒ Object
Returns number of incoming edges to given vertex.
21 22 23 |
# File 'lib/ogr/graphs/digraph.rb', line 21 def in_degree(x) @g.degree index(x), :in end |
#out_degree(x) ⇒ Object
Returns number of outcoming edges to given vertex.
26 27 28 |
# File 'lib/ogr/graphs/digraph.rb', line 26 def out_degree(x) @g.degree index(x), :out end |