diff --git a/thu_dsa/chp5/chp5.md b/thu_dsa/chp5/chp5.md index 225e90d..31ee609 100644 --- a/thu_dsa/chp5/chp5.md +++ b/thu_dsa/chp5/chp5.md @@ -270,6 +270,10 @@ void BinNode::inOrder_It2(VST &visit) { + 当前结点是左结点。则弹栈的结点是当前结点的右结点。对右结点的处理应该继续迭代地访问右结点的最高左侧可见结点。 + 当前结点是右结点。则弹栈的结点是当前结点的父结点。此时应该访问当前结点,然后直接进入下一步的迭代,再次进行弹栈操作。 +后续遍历的访问过程如下图所示: + +![后续遍历的访问过程]() + 综上所述,后序遍历的非递归算法如下: ```cpp diff --git a/thu_dsa/chp5/images/postOrder.png b/thu_dsa/chp5/images/postOrder.png new file mode 100644 index 0000000..ef89845 Binary files /dev/null and b/thu_dsa/chp5/images/postOrder.png differ