public class BinaryTree {
private TreeNode root;
private static class TreeNode {
private int data;
private TreeNode left;
private TreeNode right;
public TreeNode(int data) {
this.data = data;
this.left = null;
this.right = null;
}
}
public void insert(int data) {
root = insertNode(root, data);
}
public TreeNode insertNode(TreeNode root, int data) {
if (root == null) {
root = new TreeNode(data);
return root;
}
if (data < root.data) {
root.left = insertNode(root.left, data);
} else if (data > root.data) {
root.right = insertNode(root.right, data);
}
return root;
}
public int findLargest() {
if (root == null) {
System.out.println("Binary Tree is empty");
return Integer.MIN_VALUE;
}
TreeNode current = root;
while (current.right != null) {
current = current.right;
}
return current.data;
}
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
tree.insert(50);
tree.insert(30);
tree.insert(70);
tree.insert(20);
tree.insert(40);
tree.insert(60);
tree.insert(80);
int largest = tree.findLargest();
System.out.println("Largest element in the Binary Tree is: " + largest);
}
}