バランスの取れた BST (二分探索木) があるとします。各ツリー ノードには、countそのノードのすべての子孫 + ノード自体をカウントする特別なフィールドが含まれています。彼らはこれをデータ構造と呼んでいますorder statistics binary tree。
このデータ構造は、O(logN) の 2 つの操作をサポートしています。
rank(x)-- より小さい要素の数xfindByRank(k)rank-- ==でノードを見つけますk
median()ここで、中央値を見つけるための新しい操作を追加したいと思います。ツリーのバランスがとれている場合、この操作は O(1) であると想定できますか?