Class: GraphMatching::DirectedEdgeSet
- Inherits:
-
Object
- Object
- GraphMatching::DirectedEdgeSet
- Defined in:
- lib/graph_matching/directed_edge_set.rb
Overview
A ‘DirectedEdgeSet` is simply a set of directed edges in a graph. Whether the graph is actually directed or not is irrelevant, we can still discuss directed edges in an undirected graph.
The naive implementation would be to use ruby’s ‘Set` and RGL’s ‘DirectedEdge`. This class is optimized to use a 2D array instead. The sub-array at index i represents a set (or subset) of vertexes adjacent to i.
Instance Method Summary collapse
- #add(v, w) ⇒ Object
- #adjacent_vertices(v) ⇒ Object
-
#initialize(graph_size) ⇒ DirectedEdgeSet
constructor
A new instance of DirectedEdgeSet.
Constructor Details
#initialize(graph_size) ⇒ DirectedEdgeSet
Returns a new instance of DirectedEdgeSet.
15 16 17 |
# File 'lib/graph_matching/directed_edge_set.rb', line 15 def initialize(graph_size) @edges = Array.new(graph_size + 1) { [] } end |
Instance Method Details
#add(v, w) ⇒ Object
19 20 21 |
# File 'lib/graph_matching/directed_edge_set.rb', line 19 def add(v, w) edges[v] << w end |
#adjacent_vertices(v) ⇒ Object
23 24 25 |
# File 'lib/graph_matching/directed_edge_set.rb', line 23 def adjacent_vertices(v) edges[v] end |