1.核心思想
广度优先算法的核心思想是:从初始节点开始,应用算符生成第一层节点,检查目标节点是否在这些后继节点中,若没有,再用产生式规则将所有第一层的节点逐一扩展,得到第二层节点,并逐一检查第二层节点中是否包含目标节点。
2.算法
开始节点:A
第一层节点:B C
第二层节点: D E
第三层节点:F
对于该算法,从第一层节点A开始遍历,与A相连的有B,C,与B相连的有A,C,D,与C相连的有A,D,E,则第一层广度为A,B,C,第二层广度从B开始,得到广度A,B,C,D,对于广度C,得到广度A,B,C,D,E,第三层广度D,可得到广度A,B,C,D,E,F。
3.代码实现
#首先定义该图:用字典的键值方便表示对应开始节点和相连节点
grap ={
'A':['B','C'],
'B':['A','C','D'],
'C':['A','B','D','E'],
'D':['B