下面先来看看图的宽度优先遍历过程。图的宽度优先遍历(BFS)算法是一个分层搜索的过程,和树的层序遍历算法相同。在图中选中一个节点,作为起始节点,然后按照层次遍历的方式,一层一层地进行访问。
图的宽度优先遍历需要一个队列作为保存当前节点的子节点的数据结构。具体的算法
如下所示:
(1) 顶点v入队列。
(2) 当队列非空时继续执行,否则算法为空。
(3) 出队列,获得队头节点V'访问顶点v并标记v己经被访问。
(4) 查找顶点v的第一个邻接顶点cola
(5) *v的邻接顶点col未被访问过,则c01进队列。
(6) 继续查找v的其他邻接顶点col'转到步骤(5),若v的所有邻接顶点都已经被访问过,则转到步骤(2)。
下面,我们以图示的方式介绍宽度优先遍历的过程,如图1所示。
注&#
读书笔记——自己动手写网络爬虫--图的优先遍历
最新推荐文章于 2018-04-20 15:32:48 发布
本文介绍了图的宽度优先遍历(BFS)算法,将其与网络爬虫抓取策略相联系。宽度优先遍历类似于网络爬虫的抓取过程,从种子节点出发,逐层抓取网页。在抓取过程中,使用Visited表记录已处理链接,避免重复抓取。通过比较新解析链接与Visited表,将未访问链接加入TODO表,然后依次处理,直到所有可达页面都被访问。
摘要由CSDN通过智能技术生成