当最左边的节点具有右子节点时,有序树遍历

时间:2017-03-12 09:16:52

标签: algorithm data-structures binary-tree tree-traversal

我有一棵这样的树: enter image description here

如果我在这棵树上执行有序树遍历,则输出为:

  

d,h,b ......

  

d,b,h ......

换句话说,感觉有序树遍历向左移动 - > root - >对,当最左边的节点有一个正确的孩子时会发生什么?

我的猜测是按顺序对子树进行操作,如果我们将d作为最左边子树的根,则输出应为

  

d,h,b ......

我是否正确地考虑过这个问题?

2 个答案:

答案 0 :(得分:1)

是的,你是对的,d,h,b,...是正确的顺序。很容易看到,因为d和h都在b的左子树中,因此必须在b之前。

答案 1 :(得分:1)

以下是在示例树的有序遍历中访问子树的顺序,添加了一些节点以使其更清晰(首先是节点的左子树,然后是节点本身,然后是正确的子树,按顺序,任何节点):

enter image description here

我们可以看到,访问顺序为$(function() { // check the event to listen to var evt = $(window).width() > 980 ? // if the window width is greater than 980 "mouseenter mouseleave" : // then lesten for mouseenter and mousleave "click"; // otherwise a click event // hide it by default $("#menu").hide(); // on the event evt toggle the menu $("#menu-btn").on(evt, function() { $("#menu").slideToggle(); }); // hide it by default $("#menuser").hide(); // on the event evt toggle the menu $("#ser_btn").on(evt, function() { $("#menuser").slideToggle(); }); });