It's no coincidence that stacks have a close relationship with trees.
You can get rid of any stacks whatsoever by keeping a parent pointer in the tree node data structure.
I wouldn't say you "get rid of any stacks" here.
While you don't implement the stack as a list in classical ways, the list of "parent pointer(s)" between the root and the current node at any given moment of the traversal forms a stack.
While traversing, you need no memory other than the current and the previous node/state.
"previous node/state" obviously refers to the "top of stack", the single point where a stack is accessible.
In reply to Re: Tree traversal without recursion: the tree as a state machine
by pKai
in thread Tree traversal without recursion: the tree as a state machine
by Aristotle
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |