コレクションからJavaツリーを使用していますが、ツリーの実際の使用法は何ですか。CS 言語と同様に、B ツリーは最大 2 つの childs 、 leaf 、ツリーの高さ、およびその他を持つことができます。しかし、Javaではこれらの解釈をどのように観察できるか、そしてJavaでのツリーの実装は何ですか。
私は TreeMap と TreeSet についてのみ話しています
TreeSetおよびTreeMapクラスについて話している場合、それらはTree 構造の内部表現を使用してSetおよびインターフェイスをそれぞれ実装しています。Mapそのため、ユーザーは内部のツリーにアクセスできません (子に直接アクセスすることはできません)。
注:Javaには標準Treeインターフェースはありません
ありませんTree- どちらかまたはの意味ではないTreeSetですTreeMapか?
いずれにせよ、これらは両方とも、基盤となる実装としてRed-Black Treesを使用します。
HashSetRed-Black ツリーのパフォーマンス特性 (ほとんどの一般的な操作で O(log(n)) 時間) を持つことを除けば、それらはand とほとんど同じように動作しHashMapます - ほとんどの場合、それらは同じ意味で使用できます。