在資料結構中合併兩個 Max HBLT
合併策略使用遞迴來實現。假設 A 和 B 是要合併的兩個 HBLT。如果其中一個為空,則只需將另一個設為最終結果即可。如果沒有空 HBLT,則我們必須比較兩個根節點中的元素。元素較大的根節點將成為合併後的 HBLT 的根節點。
假設 A 的根節點較大。且其左子樹為 L。假設 C 是經過合併 A 的右子樹和 HBLT B 而得出的最大 HBLT。最終的 HBLT 將以 A 為根節點,以 L 和 C 為其子樹。如果 L 的 s 值小於 C 的 s 值,則 C 實際上就是左子樹。否則,L 將是左子樹。
假設我們有兩個元素,如下所示 −
我們要把它們合併起來。(該節點儲存值,節點外部的數字是對應節點的 s 值。)
現在讓我們看看如何合併。假設 7 被新增為 9 的右子節點,但是此處,9 的 s(L) 為 0,而 s(R) 為 1,因此它們將被交換,並且 7 將成為其右子節點。
另一個示例 −
暫時將較小的 HBLT 新增到較大的 HBLT 的右側。
這無法維護 HBLT 的特性,
廣告