私はデータ構造を実装しようとしており、より伝統的なツリーデータ構造を使用していますが、ルートノードは使用しているコンテキストで実際の値を保持していないため、ルートノードを使用していません。
理想的には、ツリーであるが、複数のルートノードがある(そしてツリーのリストだけではない)構造を使用したいと思います。このようなデータ構造の名前はありますか?
複数のルートを持つ1つのツリーはなく、それぞれが固有のルートを持つ別々のツリーのグラブバッグがあります。グラフ理論では、切断されたツリーの束はforestと呼ばれます。ただし、ツリーが実際には一緒に属していない場合は、ツリーのコレクション(リスト、マップなど)と考えるとより便利です。
Javaプログラミングを使用してフォレストデータ構造を試してください。これは既に実行しており、簡単です。AsJava APIには、ツリー/グラフ用の一般的なAPIは含まれていません。は、すべてのユースケースで必要な機能の一意のセットではありません。ただし、特別な場合には、ツリー/グラフのようなAPIがかなりあります。また、独自のグラフを作成するのは簡単です-すべてのオブジェクトが実際はノードであると言うこともできます参照型フィールドの値が(送信)近傍であるグラフでは、ハッシュ技法を使用して検索を実装し、存在する場合は直接の親ノードと直接の子ノードを見つけていました。