可能重複:
Post order traversal of binary tree without recursion後序遍歷,而無需使用遞歸或堆棧
我正在經歷中序遍歷算法二叉樹莫里斯。 有人可以請建議是否有一種方法來遍歷postorder
而不使用遞歸和堆棧?
可能重複:
Post order traversal of binary tree without recursion後序遍歷,而無需使用遞歸或堆棧
我正在經歷中序遍歷算法二叉樹莫里斯。 有人可以請建議是否有一種方法來遍歷postorder
而不使用遞歸和堆棧?
你可以用threaded tree來做到這一點。這裏的方法的概要(從here —採取見幻燈片31):
正如上面的參考文獻所示,如果對樹結構使用臨時修改,也可以在沒有線程的情況下完成。
有沒有更簡單的方法來理解這一點?原諒我的無知,但我真的想以更簡單的方式理解它。 – rgaut
@rgaut - 我不確定有一個更簡單的途徑來理解這一點。不具有棧(或遞歸,這是一個隱含的堆棧)後序遍歷只是涉及到很多細心記賬。這可能是更容易使用簡單但不平凡的例子有什麼發生在算法的每一步的一些圖表一同來了解。 –
在[這個問題]中有幾個答案(http://stackoverflow.com/questions/1294701/post-order-traversal-of-binary-tree-without-recursion) – Blastfurnace
你的樹是否有鏈接孩子對父母?如果是這樣,你可以做一個訪客。 – Blckknght