「なっとく!アルゴリズム」という本を読んでいる。アルゴリズムの説明が平易かつ丁寧で、イラストもかわいいのでお気に入りだ。 なっとく!アルゴリズム 作者: アディティア・Y・バーガバ出版社/メーカー: 翔泳社発売日: 2017/01/31メディア: Kindle版この商品を含むブログを見る この書籍の第 7 章で ダイクストラ法 というグラフの最短経路を求めるためのアルゴリズムが紹介されている。書中には説明のために Python のコードが載っているが、今回は復習を兼ねて Ruby で書き直し、かつオブジェクト指向で実装してみることにした。 以下の重み付き有向グラフの最短経路を求める。 require('forwardable') class Node attr_reader :name def initialize(name) self.name = name end def ==(oth