1、深度遍历
let bt = {
val: 'a',
children: [
{
val: 'b',
children: [
{
val: 'd',
children: []
},
{
val: 'e',
children: []
}
]
},
{
val: 'c',
children: [
{
val: 'f',
children: []
},
{
val: 'g',
children: []
}
]
}
]
}
const dfs = root => {
console.log(root.val)
root.children.forEach(dfs)
}
dfs(bt)
2、广度遍历
let tree = {
val: 'a',
children: [
{
val: 'b',
children: [
{
val: 'd',
children: []
},
{
val: 'e',
children: []
}
]
},
{
val: 'c',
children: [
{
val: 'f',
children: []
},
{
val: 'g',
children: []
}
]
}
]
}
const bfs = root => {
let q = [root]
while(q.length > 0) {
let n = q.shift()
console.log(n.val)
n.children.forEach(child => q.push(child))
}
}
bfs(tree)