0

Javaを使ってDFS(深さ優先探索)とBFSを実装したいです。

Javaには、すぐに使用できる組み込みのツリーデータ構造がありますか? または私が使用できる他のものはありますか?

4

4 に答える 4

5

無料の Java グラフ ライブラリが提供されているhttp://www.jgrapht.org/をご覧ください。このライブラリを使用すると、あらゆる種類のグラフを作成できます。また、ツリーはグラフのサブセットにすぎないため、このライブラリを使用してツリーを作成することもできます。DFS (または BFS) は、このライブラリを使用して簡単に実装できます。また、ライブラリが提供するアルゴリズムを使用することもできます。ただし、DFS (または BFS) を実装することは良い練習になります。

幸運を!

于 2009-09-16T11:33:27.253 に答える
2

DefaultMutableTreeNodeを使用してデータ構造を構築できます。これにはメソッドが含まれておりbreadthFirstEnumeration()depthFirstEnumeration()calilng によって各ノードにデータをアタッチできますsetUserObject(Object)。パッケージの一部ですが、javax.swing.treeこれは「モデル」コードであるため、直接の UI コードの依存関係はありません。

于 2009-09-16T11:02:27.330 に答える
1

構造に重複が必要ないと仮定すると、TreeSetは十分に適切な開始点です。DFSは無料で入手でき(iterator())、NavigableSetインターフェイスを使用してBFSを構築できます。

于 2009-09-16T10:06:01.563 に答える
0

いいえ、組み込み構造はありません。Java ベース ライブラリにすべてが含まれていることを考えると、 Data.Treeに相当するものがないのはおかしいです。

最も近いのは java.util.TreeSet で、これは Tree ではなく Set になるように設計されています (swing JTree もありますが、役に立ちません)。

于 2009-09-16T10:08:48.797 に答える