BFS 广度优先算法

1. 基本思想

  • a. 使用队列queue,先进先出的思想
  • b. 读顶点入列
  • c. 若队列非空则继续执行, 否则结束
  • d. queue头顶点v出列
  • e. v的子顶点入列
  • f. 循环进行步骤 b-e

2. python实现

def BFS(root):
  Q = []
  Q.append(root[0])
  while len(Q) > 0:
    node = Q.pop(0)
    # 打印node内容
    print(node)
    for child_i in node.child:
      Q.append(child_i)

你可能感兴趣的:(BFS 广度优先算法)