Children Sum Parent Java
- Get link
- X
- Other Apps
PROGRAM TO CHECK FOR CHILDREN SUM PROPERTY IN A BINARY TREE
class Node { int data; Node left, right; public Node(int d) { data = d; left = right = null; }} class BinaryTree { Node root; /* returns 1 if children sum property holds for the given node and both of its children*/ int isSumProperty(Node node) { /* left_data is left child data and right_data is for right child data*/ int left_data = 0, right_data = 0; /* If node is NULL or it's a leaf node then return true */ if (node == null || (node.left == null && node.right == null)) return 1; else { /* If left child is not present then 0 is used as data of left child */ if (node.left != null) left_data = node.left.data; /* If right child is not present then 0 is used as data of right child */ if (node.right != null) right_data = node.right.data; /* if the node and both of its children satisfy the property return 1 else 0*/ if ((node.data == left_data + right_data) && (isSumProperty(node.left)!=0) && isSumProperty(node.right)!=0) return 1; else return 0; } } /* driver program to test the above functions */ public static void main(String[] args) { BinaryTree tree = new BinaryTree(); tree.root = new Node(10); tree.root.left = new Node(8); tree.root.right = new Node(2); tree.root.left.left = new Node(3); tree.root.left.right = new Node(5); tree.root.right.right = new Node(2); if (tree.isSumProperty(tree.root) != 0) System.out.println("The given tree satisfies children" + " sum property"); else System.out.println("The given tree does not satisfy children" + " sum property"); }}
OUTPUT:
The given tree satisfies the children sum property
- Get link
- X
- Other Apps
Comments
Post a Comment