枝に向きがあるのを「有向グラフ」、ないものを「無向グラフ」という。下では有向グラフを考えます。深さ優先探索(再帰版)「深さ優先探索」とは、まず枝を進めるだけ進んでみて、行き止まったら引き返して次の枝に行き、そうして求める頂点が見つかるまで進むという方法で探索します。入っていて、頂点1〜7まであります。クラスのオブジェクトを使うこともできます。ダックタイピング可能であるため、こういう風に楽ができた(?)わけです。自分自身には行けます。dfs)が「深さ優先探索」で実装されているわけです。endend再帰を使わないバージョンです。具体的には、中でスタックを使っています。頂点から幅を広げるように探索して行く方法です。endendこれが幅優先探索の実装例です。上の深さ優先探索のループ版と一行しかちがわないのがおわかりでしょうか。これだけで「幅優先探索」になります。一般に「幅優先探索」の方が「深さ優先探索」よりもメモリをより多く消費します。それ以外では、グラフの傾向に応じて使い分けることになります。追記これ、ライブラリが作れると思ったら、既にあるのですね。自分で車輪の再発明をするのもおもしろそうだが。遊ぶhttp://gimite.net/gimite/rubymess/graph/下はグラフを画像化するのに便利そう。if文を実装しましょう。問題」を解いてみました。解いてみるスライドパズルっていうおもちゃがありますよね。(21)月別アーカイブ参加グループRubyはてなブログをはじめよう!obelisk2さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。