Wednesday, 13 July 2011

Preorder Traversal & Postorder Traversal

Preorder Traversal

The first depth-first traversal method we consider is called preorder traversal  . Preorder traversal is defined recursively as follows. To do a preorder traversal of a general tree:
  1. Visit the root first; and then
  2. do a preorder traversal each of the subtrees of the root one-by-one in the order given.
Preorder traversal gets its name from the fact that it visits the root first. In the case of a binary tree, the algorithm becomes:
  1. Visit the root first; and then
  2. traverse the left subtree; and then
  3. traverse the right subtree.
For example, a preorder traversal of the tree shown in Figure gif visits the nodes in the following order:











                            A,B,C,D,E,F,G,H,I


Notice that the preorder traversal visits the nodes of the tree in precisely the same order in which they are written in Equation gif. A preorder traversal is often done when it is necessary to print a textual representation of a tree.


Postorder Traversal

The second depth-first traversal method we consider is postorder traversal  . In contrast with preorder traversal, which visits the root first, postorder traversal visits the root last. To do a postorder traversal of a general tree:
  1. Do a postorder traversal each of the subtrees of the root one-by-one in the order given; and then
  2. visit the root.
To do a postorder traversal of a binary tree
  1. Traverse the left subtree; and then
  2. traverse the right subtree; and then
  3. visit the root.
A postorder traversal of the tree shown in Figure gif visits the nodes in the following order:


                                    C,B,F,G,E,I,H,D,A.

Inorder Traversal

The third depth-first traversal method is inorder traversal  . Inorder traversal only makes sense for binary trees. Whereas preorder traversal visits the root first and postorder traversal visits the root last, inorder traversal visits the root in between visiting the left and right subtrees:
  1. Traverse the left subtree; and then
  2. visit the root; and then
  3. traverse the right subtree.
An inorder traversal of the tree shown in Figure gif visits the nodes in the following order:

                                     B,C,A,F,E,G,D,I,H.