// DFS
function dfs(node) {
// Do something with current node
if(node.children.length) {
for(let i = 0; i < node.children.length; i += 1) {
const child = node.children[i]
dfs(child);
}
}
}
dfs(root);
// BFS
function bfs(node) {
let queue = [];
let result = [];
queue.push(node);
while(queue.length) {
const node = queue.shift();
// Do something with current node
if(node.children.length) {
for(let i = 0; i < node.children.length; i += 1) {
let child = node.children[i];
queue.push(child);
}
}
}
}
bfs(root);
console