AlgoThrive
← All tree operations

BST Delete

ComparingInsertedDeleted

binary search tree

left is smaller, right is larger

50
30
70
20
40
60
80

pseudocode

delete(node, value)
if value < node.value: node.left = delete(node.left, value)
else if value > node.value: node.right = delete(node.right, value)
else if node found:
if 0 or 1 child: splice it out, return the remaining child
else: node.value = min(node.right); node.right = delete(node.right, node.value)
return node

Frame 1 / 7

Starting tree

7 values inserted

4

39 unique integers, 199 each — inserted in order to build the starting tree.