二叉搜尋樹的問題:
平衡(banlance)
平衡:當節點數量固定時,左右子樹的高度越接近,這棵二叉樹就越平衡(高度越低)
最理想的狀態就是像完全二叉樹、滿二叉樹那樣,高度是最小的。
前提:節點的新增、刪除順序是無法限制的,可以認為是隨機的。
改進方案:在節點的新增、刪除操作之後,想辦法讓二叉搜尋樹恢復平衡(減小樹的高度),同時新增、刪除節點之後的調整次數一定要少,即用盡量少的調整次數達到適度平衡。
一般也稱它們為:自平衡的二叉搜尋樹(self-balancing binary search tree)
將二叉搜尋樹變平衡
題目描述 給你一棵二叉搜尋樹,請你返回一棵 平衡後 的二叉搜尋樹,新生成的樹應該與原來的樹有著相同的節點值。如果一棵二叉搜尋樹中,每個節點的兩棵子樹高度差不超過 1 我們就稱這棵二叉搜尋樹是 平衡的 如果有多種構造方法,請你返回任意一種。思路分析 1.先將二叉搜尋樹進行中序遍歷儲存在list中,是有...
平衡二叉搜尋樹 左旋 右旋
上一節 紅黑樹前奏 對樹的基本理解 我們講到 二叉搜尋樹 單向鍊錶的問題,為了解決這個問題,我們引入了平衡二叉搜尋樹。所謂平衡二叉搜尋樹,必須滿足 bst 的特性。何為平衡,每個節點的平衡因子的絕對值 1.那麼平衡因子如何計算呢?大體思路 計算每個節點的高度高度 max 左子樹高度,右子樹高度 1每...
二叉搜尋樹 二叉搜尋樹
題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...