public static void main(String[] args) { /** * A B C D E F G When traversing a tree, every node should always be visited as a root of a * tree!!! preOrder: A B C D E G F inOrder: C B E G D F A postOrder: C G E F D B A levelOrder: A * B C D E F G */ BinaryTree btree = new BinaryTree(); BiNode[] nodes = new BiNode[7]; nodes[0] = new BiNode("A"); nodes[1] = new BiNode("B"); nodes[2] = new BiNode("C"); nodes[3] = new BiNode("D"); nodes[4] = new BiNode("E"); nodes[5] = new BiNode("F"); nodes[6] = new BiNode("G"); btree.root = nodes[0]; nodes[0].left = nodes[1]; nodes[1].left = nodes[2]; nodes[1].right = nodes[3]; nodes[3].left = nodes[4]; nodes[3].right = nodes[5]; nodes[4].right = nodes[6]; // operations btree.preOrder(); btree.inOrder(); btree.postOrder(); btree.levelOrder(); }