について理論的な質問がありBalanced BSTます。
通常のから、ノードPerfect Balanced Treeを持つビルドをしたいと思います。私が考えることができる最も簡単な解決策は、ソートされた配列を再帰的にサブ配列に分割し、そこから構築することです。2^k - 1unbalanced BSTArray/Linked listPerfect Balanced BST
ただし、ツリーサイズが非常に大きい場合はArray/List、同じサイズで作成する必要があるため、この方法では大量のメモリが消費されます。
もう1つのオプションは、AVL回転関数を使用して、要素ごとに挿入し、ツリーバランス係数(左右のサブツリーの3つの高さ)に応じた回転でツリーのバランスをとることです。
私の質問は、私は私の仮定について正しいですか?BST不均衡から完璧を作成する他の方法はありますBSTか?