JUNG (Java のグラフ パッケージ) でバイナリ ツリーを作成しようとしています。しかし、私はこれを達成することができません。
ここに私の情報源があります:
Tree tree1 = new OrderedKAryTree<String, Integer>(2);
tree1.addVertex("v0");
tree1.addEdge(1, "v0", "v1");
tree1.addEdge(2, "v0", "v2");
これが私が得る例外です:
java.lang.IllegalArgumentException: 'index' must be in [0, [order-1]]
ドキュメントでは、オーバーロードされたメソッドの 1 つがaddEdge()
index と呼ばれる整数パラメータを 4 番目の引数として取っていることがわかります。ただし、私のマシンにはそれが実装されていないようです。
これにより、高さ 1 のバイナリ ツリーが作成されます。エッジの前にも頂点を追加してみました。
tree1.addVertex("v0");
tree1.addVertex("v1");
tree1.addVertex("v2");
tree1.addEdge(1, "v0", "v1");
tree1.addEdge(2, "v0", "v2");
これが私が得る例外です:
java.lang.UnsupportedOperationException:
Unless you are setting the root, use addEdge() or addChild()
奇妙な部分は、ドキュメントaddChild()
にメソッドがないことです(パッケージの古いバージョンの一部であり、最新の更新で削除されていないと思います)addChild()
小さなバイナリ ツリーを作成するのは難しくありません。誰か助けてくれませんか?