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