Given an N-ary tree, the task is to find the post-order traversal of the given tree iteratively.
Input: 1 / | \ 3 2 4 / \ 5 6 Output: [5, 6, 3, 2, 4, 1] Input: 1 / \ 2 3 Output: [2, 3, 1]
We have already discussed iterative post-order traversal of binary tree using one stack.We will extend that approach for the n-ary tree. The idea is very simple, for every node we have to traverse all the children of this node (from left to right) before traversing the node.
- Start from the root.
- Repeat all the steps below till either root != null OR stack is not empty.
- If root != null then push root and it’s an index into the stack and continues towards the left node.
- Pop the element from the stack and print it.
- Pop all the elements from stack till stack is not empty && popped node is last children of
it’s a parent.
- Assign root to the next children of top of stack’s node.
Below is the implementation of the above approach:
[5, 6, 3, 2, 4, 1]
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Iterative Postorder Traversal | Set 1 (Using Two Stacks)
- Iterative Postorder Traversal | Set 2 (Using One Stack)
- Iterative Postorder traversal | Set 3
- Find postorder traversal of BST from preorder traversal
- Postorder traversal of Binary Tree without recursion and without stack
- Find n-th node in Postorder traversal of a Binary Tree
- Find parent of given node in a Binary Tree with given postorder traversal
- Check if a binary tree is subtree of another binary tree using preorder traversal : Iterative
- Construct Full Binary Tree using its Preorder traversal and Preorder traversal of its mirror tree
- Print Postorder traversal from given Inorder and Preorder traversals
- Construct a BST from given postorder traversal using Stack
- Iterative diagonal traversal of binary tree
- Iterative Preorder Traversal of an N-ary Tree
- Iterative Boundary Traversal of Complete Binary tree
- Level order traversal of Binary Tree using Morris Traversal
- Tree Traversals (Inorder, Preorder and Postorder)
- Construct a Binary Search Tree from given postorder
- Check if given Preorder, Inorder and Postorder traversals are of same tree
- Postorder successor of a Node in Binary Tree
- Check if given Preorder, Inorder and Postorder traversals are of same tree | Set 2
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.