Here is a summary of the three types of traversals that we covered with binary trees. Preorder - Middle, Left, Right Inorder - Left, Middle, Right Postorder - Left, Right, Middle The code for printing a tree in inorder would look something like... public void printInorder(TreeNode root) { if (root == null) return; printInorder(root.left); System.out.println(root.data); printInorder(root.right); } From what I said in section, you should be able to figure out the code for preorder and postorder traversals. Here is an example. Given the following tree, 5 / \ 2 1 / \ \ 8 -1 9 Let's say I wanted to print the nodes. Depending on the order, I would get different output... Preorder - output = 5,2,8,-1,1,9 Inorder - output = 8,2,-1,5,1,9 Postorder - output = 8,-1,2,9,1,5 These are the three main types of traversals for binary trees. If you want some practice, try printing this tree in the three different orders above... + / \ 6 - / \ * 9 / \ 4 3 Read the answers in the next file specified in the section notes (NOTE: you may want to read these notes even if you can do this with your hands tied behind your back... not that you would need your hands or anything...)