We have discussed already about three tree traversal methods in the earlier section on general tree. The similar three different ways to do the traversal -inorder , preorder, and postorder are applicable to binary tree also.
Let us discuss the inorder binary tree traversal for given binary tree:
We begin from the root i.e. * we are assumed to visit its left sub-tree then visit the node itself & its right sub-tree. Here, root contain a left sub-tree rooted at +. Thus, we move to + and verify for its left sub-tree (we are supposed repeat this for each node). Again, + contain a left sub-tree rooted at 4. Thus, we need to check for 4's left sub-tree now, however 4 doesn't have any left sub-tree and therefore we will visit node 4 first (print in our case) and verify for its right sub-tree. As 4 doesn't contain any right sub-tree, we'll go back & visit node +; and verify for the right sub-tree of +. It contains a right sub-tree rooted at 5 and thus we move to 5. Well, 5 don't have any left or right sub-tree. Thus, we just visit 5 (print 5) and track back to +. As we already have visited + thus we track back to * . As we are yet to visit the node itself and thus we visit * before checking for the right sub-tree of *, which is 3. As 3 do not have any left or right sub-trees, we visit 3 . Thus, the inorder traversal results in 4 + 5 * 3