Algorithm 从右向左遍历树
我在读Brassard和Bratley的《算法基础》一书,在关于树遍历的章节中有一句话说: 前序、后序和顺序遍历从左侧探索树 向右。三种相应的技术从右侧探索树 向左Algorithm 从右向左遍历树,algorithm,tree,Algorithm,Tree,我在读Brassard和Bratley的《算法基础》一书,在关于树遍历的章节中有一句话说: 前序、后序和顺序遍历从左侧探索树 向右。三种相应的技术从右侧探索树 向左 从右向左移动意味着什么?我的猜测是,它们的意思是,从右到左的前序遍历等价于常规的从左到右的后序遍历?从左到右和从右到左的顺序是完全相同的算法吗?我不确定我是否理解所有的问题,所以我只回答一个 从右向左移动意味着什么 所有这些树遍历方法都需要递归。在递归中,您需要处理元素并遍历左/右树。您有*L*R*。您可以插入您的执行某些操作,而不
从右向左移动意味着什么?我的猜测是,它们的意思是,从右到左的前序遍历等价于常规的从左到右的后序遍历?从左到右和从右到左的顺序是完全相同的算法吗?我不确定我是否理解所有的问题,所以我只回答一个 从右向左移动意味着什么
所有这些树遍历方法都需要递归。在递归中,您需要处理元素并遍历左/右树。您有
*L*R*
。您可以插入您的执行某些操作
,而不是*
中的一个。我不确定我是否理解所有的问题,所以我只回答一个
从右向左移动意味着什么
所有这些树遍历方法都需要递归。在递归中,您需要处理元素并遍历左/右树。您有
*L*R*
。您可以插入您的执行某些操作
,而不是*
中的一个。并将获得您的pre/in/pos订单。这是一个简单的树,一个节点有两个叶子:
Mom
^
/ \
/ \
/ \
Sally Bob
因为有三个标签,所以有六个(三个阶乘)可能的顺序。其中三个对应于从左到右的遍历,其中Sally
在Bob
之前命名:
- 妈妈,莎莉,鲍勃← 预订。妈妈在孩子们面前
- 莎莉,鲍勃,妈妈← 邮购。妈妈在照看孩子们
- 莎莉,妈妈,鲍勃← 秩序井然。妈妈在孩子们中间
- 妈妈,鲍勃,莎莉← RTL预订单。妈妈在孩子们面前
- 鲍勃,莎莉,妈妈← RTL邮购。妈妈在照看孩子们
- 鲍勃,妈妈,莎莉← RTL顺序。妈妈在孩子们中间
所有这些都是深度优先遍历。这意味着,如果我们访问一个子节点(例如Sally),在继续下一步要遍历的内容之前,我们将完成该节点的遍历。下面是一个简单的树,一个带有两片叶子的节点:
Mom
^
/ \
/ \
/ \
Sally Bob
因为有三个标签,所以有六个(三个阶乘)可能的顺序。其中三个对应于从左到右的遍历,其中Sally
在Bob
之前命名:
- 妈妈,莎莉,鲍勃← 预订。妈妈在孩子们面前
- 莎莉,鲍勃,妈妈← 邮购。妈妈在照看孩子们
- 莎莉,妈妈,鲍勃← 秩序井然。妈妈在孩子们中间
- 妈妈,鲍勃,莎莉← RTL预订单。妈妈在孩子们面前
- 鲍勃,莎莉,妈妈← RTL邮购。妈妈在照看孩子们
- 鲍勃,妈妈,莎莉← RTL顺序。妈妈在孩子们中间
所有这些都是深度优先遍历。这意味着,如果我们访问一个子节点(例如Sally),我们将完成该节点的遍历,然后再继续执行下一步要遍历的操作。我认为您只需要尝试打印出来。我认为您只需要尝试打印出来。