特定の要素がTreeSet のどのレベルにあるかをすばやく検出する方法を知っている人はいますか? レベルとは、ツリー内のこの要素の深さ、つまりその祖先の数を意味します。
バックグラウンド。 Java の TreeSet クラスを使用して要素を格納します。2 つの要素を比較するには、それらに関する補助情報を計算する必要があります。この補助情報を要素ごとに保存することはできません。これは、メモリが多すぎるためです。一方、比較ごとに補助情報を再生成すると、プログラムが遅すぎます。要素が TreeSet に挿入されると、私の現在の実装では、挿入された要素の補助情報が計算され、要素が TreeSet 内でその場所を見つけるまで再計算されません。その後、補助情報は破棄されます。私のプログラムをスピードアップするために、TreeSet の最上位レベルについても補助情報を保存したいと思います。これらは多くの比較に関与しているためです。したがって、2 つのノードを比較した後、
アップデート。 また、ある種のバランスの取れたツリー (AVL ツリー、赤/黒ツリー、Splay ツリーなど) を実装し、要素の高さにアクセスできる別のクラスを誰かが提案してくれるとありがたいです。