Diameter of Binary Tree Java
- Get link
- X
- Other Apps
PROGRAM TO DETERMINE DIAMETER OF A BINARY TREE
class Main {/* Tree node structure used in the program */static class Node{ int data; Node left, right;}static class A{ int ans = Integer.MIN_VALUE;}/* Function to find height of a tree */static int height(Node root, A a){ if (root == null) return 0; int left_height = height(root.left, a); int right_height = height(root.right, a); // update the answer, because diameter of a // tree is nothing but maximum value of // (left_height + right_height + 1) for each node a.ans = Math.max(a.ans, 1 + left_height + right_height); return 1 + Math.max(left_height, right_height);}/* Computes the diameter of binarytree with given root. */static int diameter(Node root){ if (root == null) return 0; // This will store the final answer A a = new A(); int height_of_tree = height(root, a); return a.ans;}static Node newNode(int data){ Node node = new Node(); node.data = data; node.left = null; node.right = null; return (node);}// Driver codepublic static void main(String[] args){ Node root = newNode(1); root.left = newNode(2); root.right = newNode(3); root.left.left = newNode(4); root.left.right = newNode(5); System.out.println("Diameter is " + diameter(root));}}
OUTPUT:
Diameter is 4
- Get link
- X
- Other Apps
Comments
Post a Comment