在给定树的情况下写出预订,有序和后期遍历:

时间:2017-05-06 07:54:55

标签: algorithm binary-tree

好的,所以考虑到这棵树,我需要为它写出预订,有序和后序遍历。

                                     9
                                  /     \
                                 5       12
                                / \     /  \
                               2   7   11   15
                              /   /   /  \    \
                             3   6   10  13    16
                                                 \
                                                  17

这就是我所提出的,我的老师没有做好这件事,所以我不确定我是否接近正确。

       pre-order: 9 5 2 3 7 6 12 11 10 13 15 16 17
       in-order: 3 2 5 7 6 9 12 11 10 13 15 16 17
       post-order: 3 2 6 7 5 10 11 17 16 15 13 12 9

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

预购:执行深度优先处理,并在第一次遇到节点时写出节点。所以这是正确的(9 5 2 3 7 6 12 11 10 13 15 16 17)。

订购后:执行深度优先遍历并在处理完所有子节点后写出节点。所以正确的顺序是(3 2 6 7 5 10 13 11 17 16 15 12 9)。

按顺序:执行深度优先遍历并首先写出左子树,然后是节点本身,然后是右子树。所以正确的顺序是(3 2 5 6 7 9 10 11 13 12 15 16 17)。在这里,单个孩子是左边还是右边是有区别的,对于其他方法无关紧要。