{"222/111"、"333/222"、"444/333"、"888/999"、"777/999"} のようなパスを表す文字列の配列があるとします。上記のパス項目からツリー/グラフを作成して、2 つのグラフを取得するにはどうすればよいですか。
444,333,222,111 および 888,777,999
(疑似コードは大歓迎です)
{"222/111"、"333/222"、"444/333"、"888/999"、"777/999"} のようなパスを表す文字列の配列があるとします。上記のパス項目からツリー/グラフを作成して、2 つのグラフを取得するにはどうすればよいですか。
444,333,222,111 および 888,777,999
(疑似コードは大歓迎です)
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)
多くのグラフベースのアルゴリズムとサンプルコードもあるJGraphTプロジェクトを確認する必要があると思います。また、頂点/エッジオブジェクト表現を一般化します!