Binary search tree. Removing a node
There are three cases ◦Case 1: Node to be deleted has no children. ◦Case 2: Node to be deleted has one child. ◦Case 3: Node to be deleted has two children.
◦Case 1: Node to be deleted has no children
◦Case 1: Node to be deleted has no children
◦Case 2: Node to be deleted has one child.
◦Case 2: Node to be deleted has one child.
◦Case 3: Node to be deleted has two children
◦Case 3: Node to be deleted has two children
◦Case 3: Node to be deleted has two children Find minimum element in the right subtree of the node to be removed. In current example it is 19
◦Case 3: Node to be deleted has two children Replace 12 with 19. Notice, that only values are replaced, not nodes. Now we have two nodes with the same value.
◦Case 3: Node to be deleted has two children Remove 19 from the left subtree.