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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,349评论 8 265
  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 6,044评论 0 19
  • https://zh.visualgo.net/graphds 浅谈图形结构https://zh.visualgo...
    狼之独步阅读 4,492评论 0 0
  • 之所以有这个题目是因为我在支付宝的刮刮乐里刮到了一个什么彩票,然后心心念念等着开奖,终于午睡时如愿以偿梦到自己中奖...
    米线儿_2017阅读 328评论 4 2
  • 偶遇到小班长奈奈发的圈,大概看了一下通过一百天锻炼大家的自律性。大概了解每天只需要几分钟就可以达到自律的效果...
    童心相伴阅读 293评论 0 0

友情链接更多精彩内容