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

可作此图:

在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径
可见,此时m是n的祖先。
下面进行分析(圆球为输出)。

  1. 若使用先序遍历,即“根左右”,此时动作是:
    在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径

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

  1. 若使用中序遍历,即“左根右”,此时动作是:
    在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径

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

  1. 若使用中序遍历,即“左根右”,此时动作是:
    在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径

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

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

上一篇:vue前台工程部署至服务器


下一篇:LVM和磁盘配额