Slide 1

Slide 1 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 2

Slide 2 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 3

Slide 3 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 4

Slide 4 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 5

Slide 5 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 6

Slide 6 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 7

Slide 7 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 8

Slide 8 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 9

Slide 9 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 10

Slide 10 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 1 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2

Slide 11

Slide 11 text

https://emory.gitbook.io/dsa-java Abstract BST - Remove 5 4 6 protected N removeHibbard(N node) { N successor = node.getRightChild(); N min = findMinNode(successor); N parent = min.getParent(); min.setLeftChild(node.getLeftChild()); if (min != successor) { parent.setLeftChild(min.getRightChild()); min.setRightChild(successor); } replaceChild(node, min); return parent; } 3 G 0 2