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]
- Iterative Postorder traversal | Set 3
- Iterative Postorder Traversal | Set 2 (Using One Stack)
- Iterative Postorder Traversal | Set 1 (Using Two Stacks)
- Find n-th node in Postorder traversal of a Binary Tree
- Postorder traversal of Binary Tree without recursion and without stack
- Iterative Preorder Traversal of an N-ary Tree
- Iterative diagonal traversal of binary tree
- Iterative Boundary traversal of Complete Binary tree
- Find postorder traversal of BST from preorder traversal
- Construct a BST from given postorder traversal using Stack
- Print Postorder traversal from given Inorder and Preorder traversals
- Construct Full Binary Tree using its Preorder traversal and Preorder traversal of its mirror tree
- Iterative Preorder Traversal
- Iterative Depth First Traversal of Graph
- Construct a Binary Tree from Postorder and Inorder
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.
Improved By : princiraj1992