树的层序遍历即为BFS的应用。
实质就是利用一个队列将顶点v的邻接点保存,因树的结构比较特殊,所以不需要进行设置flag访问位,但图的情况比较复杂,一般需要对每个结点是否被访问进行标记。
利用BFS可以很容易的利用层数求出最短的步数,比如二叉树利用层序遍历求树的高度,但深搜一般也可以实现。
广度优先搜索能够计算从源节点s到每个可达结点的距离,比如二叉树层序遍历中的cur和next计数法。
广搜更适合在不断扩大遍历范围时找到相对最优解的情况。
树的层序遍历即为BFS的应用。
实质就是利用一个队列将顶点v的邻接点保存,因树的结构比较特殊,所以不需要进行设置flag访问位,但图的情况比较复杂,一般需要对每个结点是否被访问进行标记。
利用BFS可以很容易的利用层数求出最短的步数,比如二叉树利用层序遍历求树的高度,但深搜一般也可以实现。
广度优先搜索能够计算从源节点s到每个可达结点的距离,比如二叉树层序遍历中的cur和next计数法。
广搜更适合在不断扩大遍历范围时找到相对最优解的情况。