Algorithm 从右向左遍历树

Algorithm 从右向左遍历树,algorithm,tree,Algorithm,Tree,我在读Brassard和Bratley的《算法基础》一书,在关于树遍历的章节中有一句话说: 前序、后序和顺序遍历从左侧探索树 向右。三种相应的技术从右侧探索树 向左 从右向左移动意味着什么?我的猜测是,它们的意思是,从右到左的前序遍历等价于常规的从左到右的后序遍历?从左到右和从右到左的顺序是完全相同的算法吗?我不确定我是否理解所有的问题,所以我只回答一个 从右向左移动意味着什么 所有这些树遍历方法都需要递归。在递归中,您需要处理元素并遍历左/右树。您有*L*R*。您可以插入您的执行某些操作,而不

我在读Brassard和Bratley的《算法基础》一书,在关于树遍历的章节中有一句话说:

前序、后序和顺序遍历从左侧探索树 向右。三种相应的技术从右侧探索树 向左


从右向左移动意味着什么?我的猜测是,它们的意思是,从右到左的前序遍历等价于常规的从左到右的后序遍历?从左到右和从右到左的顺序是完全相同的算法吗?

我不确定我是否理解所有的问题,所以我只回答一个

从右向左移动意味着什么


所有这些树遍历方法都需要递归。在递归中,您需要处理元素并遍历左/右树。您有
*L*R*
。您可以插入您的
执行某些操作
,而不是
*
中的一个。我不确定我是否理解所有的问题,所以我只回答一个

从右向左移动意味着什么


所有这些树遍历方法都需要递归。在递归中,您需要处理元素并遍历左/右树。您有
*L*R*
。您可以插入您的
执行某些操作
,而不是
*
中的一个。并将获得您的pre/in/pos订单。

这是一个简单的树,一个节点有两个叶子:

        Mom
         ^
        / \
       /   \
      /     \
    Sally   Bob
因为有三个标签,所以有六个(三个阶乘)可能的顺序。其中三个对应于从左到右的遍历,其中
Sally
Bob
之前命名:

  • 妈妈,莎莉,鲍勃← 预订。妈妈在孩子们面前
  • 莎莉,鲍勃,妈妈← 邮购。妈妈在照看孩子们
  • 莎莉,妈妈,鲍勃← 秩序井然。妈妈在孩子们中间
如果我们以相反的顺序访问孩子们(Bob优先),那么我们将进行从右到左(RTL)的遍历。(鲍勃在右边,对吗?)

  • 妈妈,鲍勃,莎莉← RTL预订单。妈妈在孩子们面前
  • 鲍勃,莎莉,妈妈← RTL邮购。妈妈在照看孩子们
  • 鲍勃,妈妈,莎莉← RTL顺序。妈妈在孩子们中间


所有这些都是深度优先遍历。这意味着,如果我们访问一个子节点(例如Sally),在继续下一步要遍历的内容之前,我们将完成该节点的遍历。

下面是一个简单的树,一个带有两片叶子的节点:

        Mom
         ^
        / \
       /   \
      /     \
    Sally   Bob
因为有三个标签,所以有六个(三个阶乘)可能的顺序。其中三个对应于从左到右的遍历,其中
Sally
Bob
之前命名:

  • 妈妈,莎莉,鲍勃← 预订。妈妈在孩子们面前
  • 莎莉,鲍勃,妈妈← 邮购。妈妈在照看孩子们
  • 莎莉,妈妈,鲍勃← 秩序井然。妈妈在孩子们中间
如果我们以相反的顺序访问孩子们(Bob优先),那么我们将进行从右到左(RTL)的遍历。(鲍勃在右边,对吗?)

  • 妈妈,鲍勃,莎莉← RTL预订单。妈妈在孩子们面前
  • 鲍勃,莎莉,妈妈← RTL邮购。妈妈在照看孩子们
  • 鲍勃,妈妈,莎莉← RTL顺序。妈妈在孩子们中间


所有这些都是深度优先遍历。这意味着,如果我们访问一个子节点(例如Sally),我们将完成该节点的遍历,然后再继续执行下一步要遍历的操作。

我认为您只需要尝试打印出来。我认为您只需要尝试打印出来。