class NetworkX::UnionFind
Public Class Methods
new(nodes)
click to toggle source
# File lib/networkx/auxillary_functions/union_find.rb, line 3 def initialize(nodes) @unions = {} nodes.each_with_index do |node, index| @unions[node] = index end end
Public Instance Methods
connected?(node_1, node_2)
click to toggle source
# File lib/networkx/auxillary_functions/union_find.rb, line 10 def connected?(node_1, node_2) @unions[node_1] == @unions[node_2] end
union(node_1, node_2)
click to toggle source
# File lib/networkx/auxillary_functions/union_find.rb, line 14 def union(node_1, node_2) return if connected?(node_1, node_2) node1_id = @unions[node_1] node2_id = @unions[node_2] @unions.each do |node, id| @unions[node] = node1_id if id == node2_id end end