Delete operation makes use of the FIND MIN operation discussed in the earlier section. The delete operation is carried out as follows: D1: If the node NODE to be deleted in the k-d tree is a leaf node, then delete NODE. D2: If the node NODE to be deleted has DISC = i, and has a right subtree, then call FIND MIN, to obtain the node RIGHT_MIN, which has the minimum element along dimension i in the right subtree and replace NODE with RIGHT_MIN. Recursively delete RIGHT_MIN from the right subtree. D3: If the node NODE to be deleted has DISC = i, and has a left subtree, then call FIND MIN to obtain the node LEFT_MIN, which has the minimum element along dimension i in the left subtree and replace NODE with LEFT_MIN. Recursively delete LEFT_MIN from the left subtree. Move the revised left subtree as the right child of the current node. illustrate a recursive pseudocode description of the delete operation in a k-d tree using above statement
Delete operation makes use of the FIND MIN operation discussed in the earlier
section. The delete operation is carried out as follows:
D1: If the node NODE to be deleted in the k-d tree is a leaf node, then delete
NODE.
D2: If the node NODE to be deleted has DISC = i, and has a right subtree, then
call FIND MIN, to obtain the node RIGHT_MIN, which has the minimum element
along dimension i in the right subtree and replace NODE with RIGHT_MIN.
Recursively delete RIGHT_MIN from the right subtree.
D3: If the node NODE to be deleted has DISC = i, and has a left subtree, then
call FIND MIN to obtain the node LEFT_MIN, which has the minimum element
along dimension i in the left subtree and replace NODE with LEFT_MIN.
Recursively delete LEFT_MIN from the left subtree. Move the revised left subtree
as the right child of the current node.
illustrate a recursive pseudocode description of the delete operation in a k-d tree using above statement
Step by step
Solved in 2 steps