回顾;上一节课中,我们学习了图这种比较复杂的非线性结构的基础,以及表示方法,以及他在社交网络中的应用,其中这种数据结构存储数据的方式有领连接矩阵存储和领连接链表存储,分别采用空间换时间和时间换空间的思想,其中采用领连接矩阵存储具有更广的应用,只是他的底层以矩阵进行描述,可以进行多种矩阵的计算,达到我们的业务目的.
1>提出问题,什么是搜索算法
要想搞清楚这个问题,我还是先讲讲大家常用的qq是如何实现好友进行推荐的,比如说,A添加了B,B添加了C,C添加了D,其中B,C,D分别是A的一度好友,二度好友,三度好友,qq软件就是通过这种方式现实呢qq可能认识的好友进行推荐.
所谓针对图的搜索算法很直观的理解,从图找某一点出发,找到我们需要说的顶点的路径,这就是图的搜索算法,比较有名的是图的广度优先算法,和深度优先算法,当然还有其他算法,今天我们重点讲一下图的广度优先算法
2>广度优先算法(简称BFS)的原理:即就是先寻找其实起点最近的点,然后次近的,以此往外搜索,我们来看一下下面的一张图的搜索原理
a>在初始状态下,从顶点1开始,其中队列放入1即queue = {1};
b>访问1的临近顶点,1出队,且变黑,2,3入队,此时q