2012-04-25 10 views
0

{"222/111"、 "333/222"、 "444/333"、 "888/999"、 "777/999"のようなパスを表す文字列があるとします"}。どのように私は私が手にするように、上記のパス項目から木/グラフを構築することができる2つのグラフ:与えられたランダムなパスを使ってグラフを作成する

444333222111と888777999

は(擬似コードが評価されて)私はあなたがJGraphTプロジェクトをチェックする必要がありますと仮定し

答えて

0
while (strings not empty) 
    path = strings.pop 
    foreach (s:strings) 
     if (s starts with path end) 
      strings.remove(s) 
      path.append(s) 
      restart loop 
     if (s ends with path start) 
      strings.remove(s) 
      path.prepend(s) 
      restart loop 
    paths.add(path) 
0

、また、多くのグラフベースのアルゴリズムとサンプルコードがあり、頂点/エッジオブジェクトの表現を一般化します。

関連する問題