树遍历应用程序

问题描述 投票:0回答:1

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9QUG9xNy5wbmcifQ==” alt =“在此处输入图像描述”>

我想知道是否有人对我的期中实习知道这个问题并理解了答案。

  1. 在编程中,通常最好复制与您的新需求相似的现有功能,然后更改副本以适应新需求。如果我想要一个函数以相反的顺序打印出一系列数字,那么您将复制四个遍历函数中的哪一个作为新函数的基础?

    答案:有序遍历()

  2. 给出一个包含64支球队单打淘汰赛结果的二叉树,我想打印出F击败的六支球队。请注意,下图仅显示了更大的树的上部。我的代码仅遵循F取得胜利的路径,因此不是真正的树遍历。但是,我的代码将最紧密地并行于哪个树遍历代码,为什么?只需要一两个句子,正确遍历的分数为8分,而解释选择的分数则为7分。 (我将给出的图片放在帖子的顶部)

    答案:后遍历,因为必须先查看两个孩子才能找到失败者并确定正确的走法。

tree binary-tree traversal inorder postorder
1个回答
0
投票

对于问题1,如果它在二叉搜索树上,则按顺序遍历将为您提供排序的值列表。因此,如果您要寻找给定范围内的值,则最好使用有序遍历。

对于问题2,由于它代表锦标赛,所以该树以自下而上的方法构建,这是后置订单。我们也知道F必须在叶子中,因此后订单是最好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.