[英]What will be the root after deleting it from a binary search tree?
我正在看這個問題:
解決方案是否將成為節點 23,因為我們將首先應用左右旋轉,然后進行刪除?
從二叉搜索樹中刪除節點有不同的算法。
一種如下:
給定的樹有一個有兩個孩子的根,所以我們首先找到它的前任節點,即值為 23 的節點。然后該節點(它的值)被移動到根節點,取而代之的是值為 19 的節點:
50 23
/ \ / \
17 72 => 17 72
/ \ / \ / \ / \
12 23 54 76 12 19 54 76
/ \ / / \
9 14 19 9 14
生成的樹仍然是平衡的,所以這里沒有發生旋轉。 此外,要應用的旋轉類型可能取決於實現哪種類型的自平衡二叉搜索樹:AVL、Splay 樹、紅黑樹是此類樹的示例,它們將在不同條件下和樹中的不同位置旋轉.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.