关于广度优先遍历,你知道多少?
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网络。
以上小编今天所讲的“广度优先遍历”的主要内容,欢迎大家点击右下角留言,跟小编在线交流奥~~~
-------------------------------------------------------------------------------------------------------------
以上是关于关于广度优先遍历,你知道多少?的主要内容,如果未能解决你的问题,请参考以下文章