二叉搜索树(BST)的数据结构与操作详解
1. BST 删除算法
BST(Binary Search Tree,二叉搜索树)的删除操作是一个重要的功能。以下是 Java 实现的删除方法:
public void delete (Comparable elem) {
// Delete the element elem in this BST.
int direction = 0 ;
// ... 0 for here, < 0 for left, > 0 for right
BSTNode parent = null, curr = root;
for (;;) {
if (curr == null)
return;
direction = elem.compareTo(curr.element);
if (direction == 0) {
BSTNode del = curr.deleteTopmost();
if (curr == root)
root = del;
else if (curr == parent.left)
parent.left = del;
else // curr == parent.right
parent.right = del;
return;
}
超级会员免费看
订阅专栏 解锁全文
1186

被折叠的 条评论
为什么被折叠?



