Class: Doodl::ConnectedComponents
- Inherits:
-
Object
- Object
- Doodl::ConnectedComponents
- Defined in:
- lib/connected_components.rb
Instance Attribute Summary collapse
-
#component ⇒ Object
readonly
Returns the value of attribute component.
Instance Method Summary collapse
- #discover(graph, node) ⇒ Object
-
#initialize(graph, start_node = nil) ⇒ ConnectedComponents
constructor
A new instance of ConnectedComponents.
- #num_connected_components ⇒ Object
- #start_node(graph, node) ⇒ Object
Constructor Details
#initialize(graph, start_node = nil) ⇒ ConnectedComponents
Returns a new instance of ConnectedComponents.
10 11 12 13 14 |
# File 'lib/connected_components.rb', line 10 def initialize(graph, start_node = nil) @component = {} @component_count = 0 @dfs = DepthFirstSearch.new(graph, start_node, self) end |
Instance Attribute Details
#component ⇒ Object (readonly)
Returns the value of attribute component.
8 9 10 |
# File 'lib/connected_components.rb', line 8 def component @component end |
Instance Method Details
#discover(graph, node) ⇒ Object
24 25 26 |
# File 'lib/connected_components.rb', line 24 def discover(graph, node) @component[node] = @component_count end |
#num_connected_components ⇒ Object
16 17 18 |
# File 'lib/connected_components.rb', line 16 def num_connected_components @component_count end |
#start_node(graph, node) ⇒ Object
20 21 22 |
# File 'lib/connected_components.rb', line 20 def start_node(graph, node) @component_count += 1 end |