2016-10-22 5 views
0

Я построил функцию для получения значений из двоичного дерева (InOrder). Теперь я хотел бы изменить эту функцию, чтобы она работала с n-арным деревом. Буду признателен за вашу помощь.Javascript n-arry tree InOrder Function

function stringFromInOrder(tree, position) { 
    if (!tree) { 
     return ""; 
    }else if(tree.value === ""){ 
      return false; 
     } 
    return stringFromInOrder(tree.left) + tree.value + stringFromInOrder(tree.right) ; 
} 
+0

Там нет никакого стандартного способа обхода н-ни капли дерева в порядке –

ответ

0

Если вы хотите придерживаться рекурсии:

function stringFromInOrder(tree, position) { 
    if (!tree) { 
     return ""; 
    }else if(tree.value === ""){ 
      return false; 
     } 
    var s = 0; 
    var i = 0 
    while (i < tree.children.count) 
    { 
     s += stringFromInOrder(tree.children[i]); 
     i++; 
    } 
    return tree.value + s; 
} 
+0

Как бы реализовать дерево для этого случая? Создать n-арное дерево? Спасибо за ваш ответ. –