1. 在对树的操作中可能经常要使用到宽度优先搜索,例如寻找某棵树的某一层的所有节点就需要使用到宽度优先搜索,还有就是像分酒,迷宫这些问题都可以使用到宽搜来解决,这些往往会涉及到从开始状态到目标状态的转换,而且经过一次操作从一个状态转换到另外一个状态,往往求解的是最短的路径或者最少的步骤
宽搜属于层次的遍历,进行一层一层的寻找,主要需要经过以下几个方面的操作:
① 把根节点放到队列的末尾
② 每次从队列的头部取出一个元素,查看这个元素所有的下一级元素,把它们放到队列的末尾。并把这个元素记为它下一级元素的前驱
③ 找到所要找的元素时结束程序
④ 如果遍历整个树还没有找到,结束程序
总结起来就是:把根节点加入到队列中,弹出一个节点,加入若干个邻居节点