1

在此处输入图像描述

我想知道是否有人知道我练习中期的问题并理解答案。

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

    答案:中序遍历()

  2. 给定一个包含 64 支球队单场淘汰赛结果的二叉树,我想打印出 F 击败的六支球队。请注意,下图仅显示了大得多的树的上部。我的代码只遵循 F 的胜利路径,所以它不是真正的树遍历。尽管如此,我的代码最接近并行的树遍历代码是什么?为什么?只需要一两句话,正确遍历8分,解释你选择的7分。(我把给出的图片放在帖子的顶部)

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

4

1 回答 1

1

对于问题 1,如果它在二叉搜索树上,那么按顺序遍历会给你一个排序的值列表。因此,如果您要查找给定范围内的值,最好使用中序遍历。

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

于 2019-11-20T20:19:07.647 回答