class Ogr::Digraph

Class implements directed graph

Public Class Methods

new(edges, store = :list) click to toggle source
# 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
new_dense(args) click to toggle source

Creates new graph implemented as matrix.

# File lib/ogr/graphs/digraph.rb, line 16
def self.new_dense(args)
  new(args, :matrix)
end

Public Instance Methods

in_degree(x) click to toggle source

Returns number of incoming edges to given vertex.

# File lib/ogr/graphs/digraph.rb, line 21
def in_degree(x)
  @g.degree index(x), :in
end
out_degree(x) click to toggle source

Returns number of outcoming edges to given vertex.

# File lib/ogr/graphs/digraph.rb, line 26
def out_degree(x)
  @g.degree index(x), :out
end