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
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment