EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials Data Structures Tutorial Postorder traversal
 

Postorder traversal

Updated March 14, 2023

Postorder traversal

 

 

Introduction to Postorder Traversal

Postorder traversal of Binary tree is a traversal method, where left subtree is visited first, then right subtree, and finally root node. Unlike array and linked lists, being linear data structures, we have several ways of traversing binary trees due to their hierarchical nature. These tree traversal algorithms are divided into two types, i.e., Depth First Algorithms and Breadth-First Algorithms. In-Depth First Algorithm, trees are traversed downwards. On the other hand, preOrder, InOrder, PostOrder are actually depth-first traversal algorithms. PostOrder traversal is used to delete the binary tree. Let us dig deeper into the PostOrder traversal of a Binary tree and see how to preorder traversal is implemented and so on.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

How PostOrder traversal of the Binary tree works?

  • In preorder traversal, the left subtree is visited first, then the right subtree, and finally the root node.
  • Unlike other data structures, such as Array, Queue, Stack, etc., which have only one way of traversal, but trees have 3 ways of traversal, i.e., InOrder, PreOrder, and traversals.
  • Let us consider an example of a Binary tree for PostOrder traversing.

Postorder1

  • We shall perform Depth First Traversal on the above Binary tree; Depth First consists of PreOrder, InOrder, and PostOrder; we shall see PostOrder traversing here.
  • PostOrder( Left Subtree, Right Subtree, Root node ): D E B C A
  • The steps followed to get PostOrder is simple, Visit the left subtree first, i.e., D, then traverse to the right subtree, i.e., E, then root node B, traverse to the right subtree, i.e., C, and then the root node for this subtree, i.e., A.
  • And hence Postorder traversal will move as [D, E, B, C, A]

Algorithm for PostOrder traversal implementation

Step 1: Traverse the left subtree, i.e., traverse recursively.

Step 2: Traverse the right subtree, i.e., traverse recursively.

Step 3: Finally, visit the root node.

PostOrder traversal is useful to get the postfix of an expression in a Binary tree. In this traversal, the root node is visited at last and hence the name.

Let us see one more Binary tree for implementing Traversal,

Postorder2

PostOrder Traversal: B F D E C A

The first element printed is B, as it is the left node.

Then traverses to the right subtree, which has left and right node, Node D has left node, i.e., F.

As there is no right node, it will traverse back to the root node of the subtree, i.e., D.

As there is no right node, it will traverse back to the root node of the subtree, i.e., C and checks if there is any right node, i.e., E.

Then traverses to the root node of the subtree, i.e., C., and then A, the main root node.

Advantages and disadvantages of Postorder traversal

Below are some advantages and disadvantages of Postorder traversal:

Advantages

  • PostOrder traversal is used to delete the binary tree.
  • Traversal should be used while getting postfix expression of a binary tree
  • Binary tree traversals give quick searching, insertion, and deletion in cases where the tree is balanced.
  • The root node value is printed at last in traversal only after visiting the left subtree and right subtree.
  • It is also part of the Depth-First Algorithm, and order is left subtree > right subtree > root node.
  • Traversal, part of the Depth-first algorithm, will use less memory space as compared to the Breadth-first algorithm.

Disadvantages

  • Deletion algorithm in traversal in complex comparatively
  • There is no possibility to get the shortest path while traversing.
  • PostOrder traversal works well while traversing trees. However, as it is a depth-first algorithm, searching graphs can get you stuck in an infinite loop as depth-first algorithms travel around cyclically for graphs forever.

Example: PostOrder Traversal in Python Language.

class BinaryNode:
def __init__(self, key):
self.leftNode = None
self.rightNode = None
self.value = key
def postOrder(rootnode):
if rootnode:
postOrder(rootnode.leftNode)
postOrder(rootnode.rightNode)
print(rootnode.value),
rootnode = BinaryNode(6)
rootnode.leftNode = BinaryNode(1)
rootnode.rightNode = BinaryNode(4)
rootnode.leftNode.leftNode = BinaryNode(2)
rootnode.leftNode.rightNode = BinaryNode(3)
rootnode.leftNode.rightNode = BinaryNode(5)
print("\nPostorder traversal of binary tree is")
postOrder(rootnode);

Output:

Postorder traversal output

So here, according to the traversal algorithm, we shall design the tree manually and verify the output, which will make us understand the concept better.

Postorder3

Based on the input, we have designed the binary tree above.

Explanation:

Root Node: 6

Left Node: 1

Right Node: 4

Left Node of Node 1: 2

Right Node of Node 1: 3

Left Node of Node 3: 5

Hence, the traversal will be as follows,

[2, 5, 3, 1, 4, 6]

With this, we shall conclude the topic ‘Postorder Traversal’. We have seen what traversal is and its algorithm. Also implemented few sample examples to illustrate the traversal algorithm practically. A binary tree can be traversed in two types, Breadth-first traversal and Depth-first traversal. Depth-first traversal includes preorder, inorder, and traversals. Out of which, we have seen traversal here and will get to know of the other types in coming sessions. We have also listed out the Advantages and Disadvantages of traversal in the Binary tree.

Recommended Articles

This is a guide to Postorder traversal. Here we discuss How PostOrder traversal of the Binary tree works along with the advantages and disadvantages. You may also have a look at the following articles to learn more –

  1. Tree Traversal in Data Structure
  2. What is a Binary Tree in Java?
  3. Binary Search in C
  4. Spring Boot Transaction Management

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW