Traversing a n-ary tree without using recurrsion
What you are doing is essentially a DFS of the tree. You can eliminate recursion by using a stack: traverse(Node node) { if (node==NULL) return; stack<Node> stk; stk.push(node); while (!stk.empty()) { Node top = stk.pop(); for (Node child in top.getChildren()) { stk.push(child); } process(top); } } If you want a BFS use a queue: traverse(Node … Read more