《算法图解》3
六、图与广度优先搜索
本章将介绍图数据和图算法——广度优先搜索(breadth-first search,BFS)
广度优先搜索用于查找两样东西之间的最短距离。解决最短路径问题的算法被称为“广度优先搜素”
何为图?图由节点和边组成,图模拟一组连接
注意,广度优先搜索是一种用于图的查找算法,回答两类问题:
- 从节点A出发,可否达到B?
- 到达节点B的哪条路径最短?
几度关系:
要按照添加顺序查找,才能实现最短路径的查找。这要用到队列这种数据结构。
队列与栈的区别:先进先出与后进先出,如下:
如何表现“你----->Bob”这种关系呢?散列表!!提供映射
有向图中的边为箭头,箭头的方向指定了关系的方向,例如, rama→adit表示rama欠adit钱。
无向图中的边不带箭头,其中的关系是双向的,例如, ross - rachel表示“ross与rachel约
会,而rachel也与ross约会”。
树一定是图