package bintree; public class BinTree { protected BinTree left; protected BinTree right; protected T data; public BinTree(T data, BinTree left, BinTree right) { this.left = left; this.right = right; this.data = data; } public BinTree(T data) { this(data, null, null); } public boolean isLeaf() { return (this.left == null && this.right == null); } public int size() { if (!this.isLeaf()) { return 1 + this.left.size() + this.right.size(); } else { return 1; } } public T getData() { return data; } public void setData(T data) { this.data = data; } public BinTree getLeftChild() { return left; } public void setLeftChild(BinTree left) { this.left = left; } public BinTree getRightChild() { return right; } public void setRightChild(BinTree right) { this.right = right; } public static void main(String[] args) { BinTree blatt1 = new BinTree("Blatt1"); BinTree blatt2 = new BinTree("Blatt2"); BinTree blatt3 = new BinTree("Blatt3"); BinTree blatt4 = new BinTree("Blatt4"); BinTree blatt5 = new BinTree("Blatt5"); BinTree blatt6 = new BinTree("Blatt6"); BinTree node1 = new BinTree("Node1", blatt1, blatt2); BinTree node2 = new BinTree("Node2", blatt3, blatt4); BinTree node3 = new BinTree("Node3", blatt5, blatt6); BinTree node4 = new BinTree("Node4", node1, node2); BinTree root = new BinTree("Root", node4, node3); System.out.println(root.size()); } }