对于n-ary树,回调是针对预订,有序和后期订单进行的?

时间:2018-05-01 20:59:35

标签: javascript dom data-structures tree

我试图从概念上理解这是如何工作的?

我可以测试所有不同的位置并弄清楚,但我希望能够实时做到这一点,好像这是一个面试问题。

这适用于JavaScript和DOM。以下是工作代码:

const depthFirst = (callback) => {
 const traverse (node) => {
   // ?
   node.childNodes.forEach( (child) => {
     // ?
     traverse(child);
     // ?
   });
   // ?
 };
 traverse(document.body);
};

1 个答案:

答案 0 :(得分:0)

这是您可能期望的。

const depthFirst = (callback) => {
 const traverse (node) => {
   // pre-order
   node.childNodes.forEach( (child) => {
     // in-order
     traverse(child);
     // nothing
   });
   // post-order
 };
 traverse(document.body);
};