在Javascript中浏览具有受控深度的树的递归函数

时间:2016-03-09 09:59:42

标签: javascript recursion

我有一个由树组成的数据结构。每个父母拥有3个孩子。我想在javascript(特别是node.js)中创建一个递归函数,它将完全浏览该树,直到达到定义的深度(让我们假设这里的深度为3)。 所以我写了这个函数:

 var i=0;
function recursive (depth) {
    console.log("total = "+ i++);
    console.log("the depth is "+ depth)
    if (depth>3){return} else
        {depth++;
            for (j = 1; j <= 3; j++){
                recursive(depth);
            };
        }
    }

    recursive(0);

现在形成这个程序的输出,我想我的函数浏览第一个分支,当它达到深度时,扫描3个孩子并返回。但是我想让它扫描其他孩子,所以达到的节点总数应该是1 + 3 + 9 = 13而不是6,这显示在我的总数中。

请帮帮我吗?

0 个答案:

没有答案