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的叶节点。 –