Jun 29, 2009

Write the iterative version of post order traversal

Write the iterative version of post order traversal
From Wikipedia:
nonrecursivepostorder (rootNode)
nodeStack.push (rootNode)
while (true)
currNode = nodeStack.last ()
if ((currNode.left != null) and (currNode.left.visited == false))
nodeStack.push (currNode.left)
else
if ((currNode.right != null) and (currNode.right.visited == false))
nodeStack.push (currNode.right)
else
{
print currNode.value
currNode.visited := true
nodeStack.pop ()
}
if nodeStack.empty()
break

No comments:

Post a Comment