首页 > 代码库 > 《算法图解》3

《算法图解》3

六、图与广度优先搜索

本章将介绍图数据和图算法——广度优先搜索(breadth-first search,BFS)

 

广度优先搜索用于查找两样东西之间的最短距离。解决最短路径问题的算法被称为“广度优先搜素”

何为图?图由节点和边组成,图模拟一组连接

技术分享

 

注意,广度优先搜索是一种用于图的查找算法,回答两类问题:

  • 从节点A出发,可否达到B?
  • 到达节点B的哪条路径最短?

几度关系:

技术分享

 

要按照添加顺序查找,才能实现最短路径的查找。这要用到队列这种数据结构。

队列与栈的区别:先进先出与后进先出,如下:

技术分享

如何表现“你----->Bob”这种关系呢?散列表!!提供映射

技术分享

 

 有向图中的边为箭头,箭头的方向指定了关系的方向,例如, ramaadit表示ramaadit钱。
无向图中的边不带箭头,其中的关系是双向的,例如, ross - rachel表示“rossrachel
会,而rachel也与ross约会”。

树一定是图

 

《算法图解》3