Preorder + Inorder + Postorder (Single Traversal)
One stack with state machine (1=PRE, 2=IN, 3=POST)
Python Code (Single Traversal)
18 if state == 1:● pre.append(node.data)20 st.append((node, 2))21 if node.left:22 st.append((node.left, 1))23 elif state == 2:24 ino.append(node.data)25 st.append((node, 3))26 if node.right:27 st.append((node.right, 1))28 else:29 post.append(node.data)30 Current Line (19): Preorder Append
Tree Structure
Operation:PRE
Traversal Progress (3 Outputs)
PREINPOST
State Stack
Stack is empty. Click Next to begin!
Step Explanation
Unvisited
Left
Current
Right
Done