2011-07-14 9 views
1

誰かが正しい方向に私を送るために、すでにこれを行っている場合、私は問題は次のように..です経路探索のFlexおよびpolygonal.deグラフクラス?

  • を疑問に思って:数がある場合、私は、私は整数を保持する上で2次元配列を、持っています0 - 項目がグラフに含まれていない場合は、それが含まれていなければなりません。 結果グラフは、ある要素に対する最短経路(最短経路)に使用されなければならない。
  • この2次元配列をグラフにするにはどうすればよいですか? (可能であればpolygona.deクラスで)

私は現在、Polygonal.deクラスで試しています。適切な方向への提案やポイントは高く評価されています。

enter image description here

これは、2次元構造です。赤いセルは歩くことが禁止されており、「開始」から「終了」までの最適なパスが見つかるはずです。しかし、第1のもの - 私はこの2次元構造をグラフに変える必要があります。

+0

あなたの描写内容をより視覚的に表現できるスケッチやグラフィックを投稿できますか? –

+0

こんにちは@Jason Sturges。私は視覚的な説明 –

答えて

1

あなたの2D配列はすでにグラフです。グラフのノードは(i, j)のペアで表され、(i + 1, j),などの隣接ノードを持つことができます。これらの低レベルの隣接定義を非表示にし、占有されているセルをスキップするユーティリティ関数を書くことができます。


Graphデータ構造に対するde.polygonal.ds APIグラフの構築のためにこの例が含まれています

var graph = new de.polygonal.ds.Graph<String>(); 
var a = graph.addNode("a"); 
var b = graph.addNode("b"); 
var c = graph.addNode("c"); 
graph.addSingleArc(a, b, 1.0); 
graph.addSingleArc(b, a, 1.0); 
graph.addMutualArc(a, c, 1.0); 

元の各自由(i, j)ためのノードを含む2次元アレイを構築する例を調節2Dアレイ。次に、ノードの2D配列をトラバースし、addMutualArc()を呼び出して隣接ノードを接続します。

+0

を追加しましたが、polygonal.deクラスでアクログラフを作成するには? –

+0

私はそれを得ました...私はこの部分を見逃したようです。どうもありがとうございました。 :) –

+0

今私はノードのこの事 "コスト"と "重量"の役割を理解する必要があります。 –

関連する問題