深度优先遍历的算法口诀
访问根节点
对根节点的children挨个进行深度优先遍历
const dfs = (root) => {console.log(root.val)root.children.foreach(dfs(item))}
shift()方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组。
广度优先遍历口诀
新建一个队列,把根节点入队
把队头出队并访问
把对头的children挨个入队
重复第二、三步操作,直到队列为空
const bfs = (root) => {const q = [root]while(q.length > 0) {const n = q.shift()console.log(n.val)n.children.foreach(child => {q.push(child)})}}
