广度优先搜索
这也是一种图的遍历搜索方法,它不像广度优先搜索一样不到黄河不死心。它比较喜欢四处开花,到处结果。
方法:
我们利用队列解决这一问题
1.我们建立一个队列来完成
(注:队列与栈相反,先进先出,可以用数组和两个下标来完成,一个代表队列的首部,一个代表尾部。加入时加入数组的末尾使尾下标加一,出来时使首坐标加一.初始时首尾下标相同)
2.建立状态数组来记录每一个点是否被访问。
3.建立编号数据来记录每一个点的遍历顺序
4.将第一个点压入队列中,队尾加1
5.当队列不为空时(两个下标不相等时)(缩进表示循环)
6.队首出队,队首下标加1
7.出队的点标记为以访问,并且将其编号记录。而且使保存编号的变量加一
8.将出队点的未访问临接点全部加入队列(队尾)然后将队尾下标增加相应值
时间复杂度:
如深度一样为O(n+e)