module Graphos::Weighted::TextFactory

Public Class Methods

read(path) click to toggle source
# File lib/graphos/weighted/text_factory.rb, line 4
def self.read path
  lines = IO.readlines(path)
  size = lines[0].to_i

  edges = Array.new(size,0)

  lines[1..-1].each do |line|
    args = line.split(/[ \n]+/)
    edges[args[0].to_i-1] += 1
    edges[args[1].to_i-1] += 1
  end

  graph = Graph.new(lines[0].to_i,edges)
  lines[1..-1].each do |line|
    args = line.split(/[ \n]+/)
    graph.add_edge args[0].to_i-1, args[1].to_i-1, args[2].to_f
  end
  graph
end