深度遍历,就是类似于所谓的先序遍历
广度遍历,就是类似于所谓的层次遍历
图解
1.深度优先遍历
深度遍历可以理解为选择一个路线,一直走下去,没有路后,退回后一个位置
这里我们从0开始
接下来8出栈(这里借助栈,栈的特性,后入先出),7进栈
接着7出栈,4出栈,退回0,再次选择新的路线
这里选择0 3 6
接着6出栈,3出栈,再次选择路线,直到遍历所有
2.广度优先遍历
广度优先遍历类似于层次遍历
可以理解为一层一层的遍历
这里借助队列来实现(先入后出)
直接上图
首先遍历0,得到队列 1 2 3 4 5
此时1出队列,9和10入队列
得到队列 2 3 4 5 9 10
接下来 2 出队列,2后没有数
此时队列中为 3 4 5 9 10
继续 3出队列,遍历3 得到 6 ,6入队列
继续4出队列,遍历4 ,得到 7 8,入队
接下来5出队,9出队,然后 10,6,7,8,遍历结束