をa個の頂点を持つAVLツリーとする。 各頂点には、頂点自体をルートとしてそのサブツリーのサイズを表す拡張があります。私は入力として数k s.tを取得するアルゴリズムを実装しようとしています。 1 < = k < = nとし、サイズkの頂点をO(logn)に返します。AVLツリーでサイズkの頂点を見つける
ツリーが完全なバイナリツリーの場合、高さhのすべてのノードが同じサイズになるため、必要なサイズのノードに到達するまで右/左に移動するのは簡単です。しかし、木が満ちていないときは、私は立ち往生しています。
ご協力いただければ幸いです。
ありがとうございます!
P.S.私は各頂点が異なる値を持つと仮定します。
私は可能ではないと思います。ノードは「サイズ」に従ってソートされていないので、最悪の場合、すべてのノードを通過する必要があります。サイズがkより小さい支店を通過することはできませんが、最悪の場合はすべてを通過しなければなりません。 – ElKamina