0
A
回答
5
您需要獲取其左子樹的最右側子元素,或者右子樹的最左側子元素(例如6或15),並將其中一個移動到該位置,那麼你可以刪除你想要的節點。
如果您正在做任何事情來跟蹤子樹中的節點數量,您通常希望從較大的子樹中選取節點,因此當您移動它時,樹會至少平衡,因爲它開始。例如,在這種情況下,獲得6比15來保持平衡更好 - 但是如果你只是有一個普通的,不平衡的BST,那麼你可能沒有那種容易獲得的信息。
0
有這樣的算法第4版的圖書網站商量好了:http://algs4.cs.princeton.edu/32bst/
相關問題
- 1. 在BST中刪除一個帶有兩個子節點的節點
- 2. Fancytree:刪除沒有孩子的節點
- 3. BST中刪除節點
- 4. 刪除BST節點(2)
- 5. 在BST中刪除節點
- 6. C++從BST中刪除一個節點
- 7. C++從當節點有兩個孩子
- 8. 刪除有兩個子樹/節點的節點
- 9. 如何刪除節點的孩子?
- 10. 刪除其孩子的節點在XML
- 11. 帶有一個孩子的二元搜索樹刪除節點
- 12. 如果只有1個孩子,需要刪除xmi節點
- 13. 刪除現有的孩子節點後無法追加一個孩子節點到一個div
- 14. 在二叉搜索樹中刪除有兩個孩子的節點
- 15. BST刪除方法應該刪除一個節點的子樹嗎?
- 16. BST節點刪除混亂[JaVa]
- 17. 從BST中刪除節點C
- 18. 刪除BST中的唯一節點
- 19. 刪除一個節點,同時保留所有的孩子和選擇
- 20. 刪除一個子節點
- 21. query.ref.removeValue刪除整個孩子,而不僅僅是一個節點
- 22. 刪除BST中的節點時發生運行時錯誤
- 23. jquery:刪除前兩個孩子?
- 24. 刪除所有的孩子節點,並獲取simpleXML的內容
- 25. 通過php刪除xml節點和所有孩子
- 26. 從Groovy xml節點中刪除所有的孩子
- 27. 刪除子節點
- 28. 紅黑樹 - 用兩個非葉孩子擦除節點
- 29. 在firebase節點中刪除最後一個孩子
- 30. 解析有兩個相同的孩子一個XML節點
這是功課?你有什麼嘗試? – atoMerz
所以哪一個呢? Java,C或C++? –
將數據從包含6的節點移動到包含12的節點,用12覆蓋12。刪除包含6的葉節點。 –