class Djikstra::Node

Attributes

distance[RW]
name[RW]
neighbors[RW]
previous_node[RW]

Public Class Methods

new(name) click to toggle source
# File lib/djikstra/node.rb, line 5
def initialize(name)
  @name      = name
  @neighbors = []
  @weights   = {}
  reset
end

Public Instance Methods

>(number) click to toggle source
# File lib/djikstra/node.rb, line 30
def >(number)
  return true if infinite?
  return false if number == :infinity
  
  distance > number
end
distance_to(node) click to toggle source
# File lib/djikstra/node.rb, line 22
def distance_to(node)
  @weights[node.name]
end
infinite?() click to toggle source
# File lib/djikstra/node.rb, line 26
def infinite?
  @distance == :infinity
end
inspect() click to toggle source
# File lib/djikstra/node.rb, line 37
def inspect
  %Q(#<Djikstra::Node name="#{name}" distance=#{distance}>)
end
Also aliased as: to_s
neighbor_of(node, weight) click to toggle source
# File lib/djikstra/node.rb, line 17
def neighbor_of(node, weight)
  @neighbors.push node
  @weights[node.name] = weight
end
reset() click to toggle source
# File lib/djikstra/node.rb, line 12
def reset
  @distance      = :infinity
  @previous_node = nil
end
to_s()
Alias for: inspect