最近学习自己动手写网络爬虫
书中涉及到了图的宽度优先遍历,其中很重要的一点是图的宽度优先遍历需要一个队列(队列的特点:先进先出)作为保存当前节点的子节点的数据结构。
以上图为例图的宽度优先遍历算法描述为:
1.首先访问顶点A,将顶点A入队
2.之后因为要访问A的邻接点,应先将A出队(我认为当要访问某个节点的邻接点时,应先将该节点从使其出队,之后访问该节点的邻接点),然后将A节点的邻接点B,C,D,E,F入队;
3.因为队列先进先出,且还要依次访问队列中各节点的邻接点,所以将B出队,B无邻接点,于是C出队,C亦无无邻接点,于是D出队,同理应E出队,E有邻接点H,所以E出队后,H入队,因为