在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径

可作此图:

在这里插入图片描述
可见,此时m是n的祖先。
下面进行分析(圆球为输出)。

  1. 若使用先序遍历,即“根左右”,此时动作是:
    在这里插入图片描述

在n入栈前m已经出栈,无法确定路径。

  1. 若使用中序遍历,即“左根右”,此时动作是:
    在这里插入图片描述

在n入栈前m已经出栈,无法确定路径。

  1. 若使用中序遍历,即“左根右”,此时动作是:
    在这里插入图片描述

在n入栈后,m仍在栈中,且此时栈中有m、b、n,可见路径为m-b-n,路径找到。

posted @ 2021-06-18 20:18  鱼大鹿  阅读(1887)  评论(0编辑  收藏  举报