100 likes | 218 Vues
This tutorial explores the processes of inserting values into an empty binary tree and performing deletion operations on a binary search tree (BST). We will analyze the effects of these operations on the structure of the tree, covering three deletion cases: leaf nodes, nodes with two children, and nodes with one child. Additionally, we will evaluate whether the resulting tree is full and complete, in accordance with their definitions. Follow along to understand the intricacies of binary tree manipulation and structure.
E N D
Tutorial 8 Question 4
Part A • Insert 20, 10, 15, 5 ,7, 30, 25, 18, 37, 12 and 40 in sequence into an empty binary tree. 20 10 30 25 37 5 15 40 7 12 18
Part B • Part B requires us to determine the new BST after each delete operation. • 3 cases to consider when deleting a node from a BST • Case 1: Leaf node (no children) • Case 2: Node has 2 children • Case 3: Node has only one child
Delete 30 from the BST • 30 has 2 children • Replace node with inorder successor of 30, which is 37. 20 20 10 10 37 30 25 25 37 5 5 15 15 40 40 7 7 12 12 18 18
Delete 10 from BST • 10 has two children. • Replace with inorder successor, which is 12 20 20 10 12 37 37 25 25 5 5 15 15 40 40 7 7 12 18 18
Delete 15 from BST • 15 currently has one child, 18. • So just replace 15 with 18. 20 20 12 12 37 37 25 25 5 5 15 40 40 18 7 7 18
Part C :Is the binary tree full ??? • A full binary tree is a tree where all nodes other than leaves have 2 children, and all leaves are at the same height. • Tree is not full. 20 12 37 25 5 40 18 7
Part C :Is the Binary Tree Complete ??? • A binary tree is complete when all levels except POSSIBLY the last is completely filled, and the nodes are filled from left to right. • This tree is not complete. 20 12 37 25 5 40 18 7
If we delete 7 • The resultant tree is both full and complete. 20 12 37 25 5 40 18 7
After deleting 7, if We add 4 • Resulting tree is not full. • However, the tree is complete. 20 12 37 25 40 18 5 4