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