之前其实有写过一篇类似的文章《深度优先遍历(DFS)-栈和广度优先遍历(BFS)-队列的理解》。
再次复习一下,写了不一样的注释。而且之前是用 dom 做的遍历,这次还是回到数据来。
// 深广度优先遍历
const tree = {
value: 1,
children: [
{
value: 2,
children: [
{
value: 4,
children: [
{
value: 8
},
{
value: 9
},
],
},
{
value: 5,
children: [
{
value: 10
},
{
value: 11
},
],
},
],
},
{
value: 3,
children: [
{
value: 6,
children: [
{
value: 12
},
{
value: 13
},
],
},
{
value: 7,
children: [
{
value: 14
},
{
value: 15
},
],
},
],
}
],
};