什么是树的深度/广度优先遍历?
- 深度优先遍历:尽可能深的搜索树的分支
- 广度优先遍历:先访问离根节点最近的节点
- 深度优先遍历,如上图所示,会先访问根节点A,然后沿着左树一直向下深层访问遍历,即A-B-D-H-E-C-F-G
- 广度优先遍历,如上图所示,会先访问根节点A,然后向下一层,并将该层访问遍历完毕,再继续向下一层遍历。即A-B-C-D-E-F-G-H
深度优先遍历算法
- 访问根节点
- 对根节点的children挨个进行深度优先遍历
广度优先遍历算法
- 新建一个队列,把根节点入队
- 把对头出队并访问
- 把对头的children挨个入队
- 重复第二三步,知道队列为空
Comments | NOTHING