GMT+0900幅優先探索について幅優先探索では始めのノードから放射上に探索していく。具体的には下記のような感じになる。赤字が探索順だと思ってください。木構造の場合はこんな感じ。グラフの場合グラフの場合はこんな感じ。重みのないグラフの最短経路を求めるのに利用できる。重みのあるグラフの最短経路を求めるにはダイクストラ法を使う。順番にキューに突っ込んでいく。今回はグラフを例にする。前述のグラフを例にすると、下記のような順でキューにエンキュー(キューに突っ込む)・デキュー(キューから取り出す)をしていく。Dをキューに入れるBをデキューするBを目的のノードと比較し、一致しない場合はFをエンキューする目的のノードが見つかるか、キューが空になるまで繰り返す要するに見つからなければそのノードの隣接ノードをキューに突っ込んで比較していく。無限ループになる場合があるので、訪問済みノードも管理する必要があるという点。$O(1)$頂点の個数はV(Vertex)として表す。なる辺の個数はE(Edge)として表す。Scalaで実装Scalaで実装してみるとこんな感じになった。printlnなどを書いているとはいえエライ汚いのだが、Scala片手間IT事務員おじさんにはこれが限界である。実装は(たぶん)間違ってないし、コードを綺麗に書くのが目的でもないのでとりあえずのところはコレで良いものとする。YoshinoriN)。