关于广度优先遍历,你知道多少?

Posted 云生信

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于广度优先遍历,你知道多少?相关的知识,希望对你有一定的参考价值。


今天小编来给大家讲个名词,叫“广度优先遍历”,什么,没听过?

没听过不要紧,听小编慢慢给你讲:

图的遍历和树的遍历类似,我们希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历(Traverse Graph)。

图的遍历方法一般有两种,第一种是深度优先遍历(Depth First Search),也有称为深度优先搜索,简称为DFS。第二种是广度优先遍历(Breadth First Search),也有称为广度优先搜索,简称为BFS。

今天就像大家简单的介绍一下BFS,以及其在R语言中的实现

关于广度优先遍历,你知道多少?

BFS是从root节点出发,按层遍历。如上图,root节点为1. BFS算法首先遍历第二层;第二层借宿后,再遍历第三层;依次类推,直到处理完最后一层。

关于广度优先遍历,你知道多少?

接下来就讲一下BFS实现。R包igraph提供了BFS函数,graph.bfs。

Order,第i个元素表示第i个被遍历的节点的index;farther,第i个元素表示第i个节点的farther.

关于广度优先遍历,你知道多少?


因此BFS生成的遍历树为:

关于广度优先遍历,你知道多少?

构建方法为:

关于广度优先遍历,你知道多少?

结果展示为:


上图中,左图是原始的网络g;右图是从第一个节点开始遍历的BFS网络。

 

以上小编今天所讲的“广度优先遍历”的主要内容,欢迎大家点击右下角留言,跟小编在线交流奥~~~




-------------------------------------------------------------------------------------------------------------


 

 


以上是关于关于广度优先遍历,你知道多少?的主要内容,如果未能解决你的问题,请参考以下文章

关于有向图的广度优先搜索

你知道吗?广度优先与深度优先只有这一个区别!

你知道吗?广度优先与深度优先只有这一个区别!

BFS(广度优先算法)也就这么回事

广度优先搜索

动画 | 1分钟看懂广度优先遍历