爬虫学习笔记


简单的百度贴吧爬虫

http://blog.csdn.net/pleasecallmewhy/article/details/8934726

scrapy框架搭建

http://blog.csdn.net/pleasecallmewhy/article/details/19642329


宽度优先遍历

图的宽度优先遍历

下面先来看看图的宽度优先遍历过程。图的宽度优先遍历(BFS)算法是一个分层搜索的过程,和树的层序遍历算法相同。在图中选中一个节点,作为起始节点,然后按照层次遍历的方式,一层一层地进行访问。

图的宽度优先遍历需要一个队列作为保存当前节点的子节点的数据结构。具体的算法如下所示:

(1) 顶点V入队列。

(2) 当队列非空时继续执行,否则算法为空。

(3) 出队列,获得队头节点V,访问顶点V并标记V已经被访问。

(4) 查找顶点V的第一个邻接顶点col。

(5) 若V的邻接顶点col未被访问过,则col进队列。

(6) 继续查找V的其他邻接顶点col,转到步骤(5),若V的所有邻接顶点都已经被访问过,则转到步骤(2)。

下面,我们以图示的方式介绍宽度优先遍历的过程,如图1.3所示。

 
图1.3  宽度优先遍历过程

选择A作为种子节点,则宽度优先遍历的过程,如表1.2所示。

表1.2  宽度优先遍历过程

  

队列中的元素

初始

A入队列

A

A出队列

BCDEF入队列

BCDEF

B出队列

CDEF

C出队列

DEF

D出队列

EF

E出队列

F

H入队列

FH

F出队列

H

G入队列

HG

H出队列

G

I入队列

GI

G出队列

I

I出队列

在表1.2所示的遍历过程中,出队列的节点顺序既是图的宽度优先遍历的访问顺序。由此可以看出,图1.3所示的宽度优先遍历的访问顺序为

A->B->C->D->E->F->H->G->I

本节讲述了宽度优先遍历的理论基础,把互联网看成一个"超图",则对这张图也可以采用宽度优先遍历的方式进行访问。下面将着重讲解如何对互联网进行宽度优先遍历。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值