bfsearchgydF4y2Ba
图广度优先搜索gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
适用于gydF4y2Ba广度优先搜索gydF4y2Ba到图gydF4y2BavgydF4y2Ba
= bfsearch (gydF4y2BaGgydF4y2Ba
,gydF4y2Ba年代gydF4y2Ba
)gydF4y2BaGgydF4y2Ba
从节点gydF4y2Ba年代gydF4y2Ba
。结果是一个向量的节点id为了他们的发现。gydF4y2Ba
定制的输出宽度优先搜索萎靡不振的一个或多个搜索事件。例如,gydF4y2BaTgydF4y2Ba
= bfsearch (gydF4y2BaGgydF4y2Ba
,gydF4y2Ba年代gydF4y2Ba
,gydF4y2Ba事件gydF4y2Ba
)gydF4y2BaT = bfsearch (G s allevents)gydF4y2Ba
返回一个表,其中包含所有标记事件gydF4y2BaX = bfsearch (G s edgetonew)gydF4y2Ba
返回一个矩阵或单元阵列的边缘。gydF4y2Ba
(gydF4y2Ba
此外返回一个向量的边缘指数gydF4y2BaTgydF4y2Ba
,gydF4y2BaEgydF4y2Ba
)= bfsearch (gydF4y2BaGgydF4y2Ba
,gydF4y2Ba年代gydF4y2Ba
,gydF4y2Ba事件gydF4y2Ba
)gydF4y2BaEgydF4y2Ba
当gydF4y2Ba事件gydF4y2Ba
被设置为gydF4y2Ba“edgetonew”gydF4y2Ba
,gydF4y2Ba“edgetodiscovered”gydF4y2Ba
,或gydF4y2Ba“edgetofinished”gydF4y2Ba
。边的边缘指数用于唯一标识油印。gydF4y2Ba
(gydF4y2Ba___gydF4y2Ba)= bfsearch (gydF4y2Ba___gydF4y2Ba“重启”,gydF4y2Ba
,在那里gydF4y2Ba特遣部队gydF4y2Ba
)gydF4y2Ba特遣部队gydF4y2Ba
是gydF4y2Ba真正的gydF4y2Ba
,重新启动搜索如果没有发现的新节点是可及节点。您可以使用任何的输入或输出参数组合在以前的语法。这个选项确保广度优先搜索到所有节点和边的图,即使他们不是从起始节点访问gydF4y2Ba年代gydF4y2Ba
。gydF4y2Ba
例子gydF4y2Ba
输入参数gydF4y2Ba
输出参数gydF4y2Ba
提示gydF4y2Ba
dfsearchgydF4y2Ba
和gydF4y2BabfsearchgydF4y2Ba
对无向图一样的有向图。一个无向边节点之间gydF4y2Ba年代gydF4y2Ba
和gydF4y2BatgydF4y2Ba
是当作两个定向边缘,一个来自哪里gydF4y2Ba年代gydF4y2Ba
来gydF4y2BatgydF4y2Ba
和一个来自gydF4y2BatgydF4y2Ba
来gydF4y2Ba年代gydF4y2Ba
。gydF4y2Ba
算法gydF4y2Ba
广度优先搜索算法从起始节点开始,gydF4y2Ba年代gydF4y2Ba
,和检查所有的相邻节点的节点索引。然后为每个这些邻居,邻居访问他们,并且在秩序。该算法仍在继续,直到所有的节点都可以从开始节点访问。gydF4y2Ba
在伪代码,该算法可以写成:gydF4y2Ba
事件startnode (S)事件discovernode (S)节点列表={年代}虽然节点列表不是空的C ={1}节点列表删除节点列表的第一个元素从外向的边缘节点边E C,连接节点N事件edgetonew (C、E), edgetodiscovered (C、E)或edgetofinished (C, E)(取决于节点N)的状态如果事件是edgetonew事件discovernode N (N)附加的节点列表结束结束事件finishnode (C)gydF4y2Ba
bfsearchgydF4y2Ba
可以返回标记算法来描述不同的事件,如当一个新的节点发现或当所有节点的边的访问。这里列出的事件标志。gydF4y2Ba
国旗事件gydF4y2Ba | 事件描述gydF4y2Ba |
---|---|
“discovernode”gydF4y2Ba |
发现了一个新节点。gydF4y2Ba |
“finishnode”gydF4y2Ba |
所有即将离任的边节点的访问。gydF4y2Ba |
“startnode”gydF4y2Ba |
这个标志表明起始节点搜索。gydF4y2Ba |
“edgetonew”gydF4y2Ba |
边缘连接到一个未被发现的节点gydF4y2Ba |
“edgetodiscovered”gydF4y2Ba |
之前发现的节点连接到边缘gydF4y2Ba |
“edgetofinished”gydF4y2Ba |
边缘连接到节点完成gydF4y2Ba |
有关更多信息,请参见输入参数描述gydF4y2Ba事件gydF4y2Ba
。gydF4y2Ba
请注意gydF4y2Ba
在这种情况下,输入图包含节点从起始节点,遥不可及的gydF4y2Ba“重启”gydF4y2Ba
选项提供了一种方法,使搜索访问图中的每个节点。在这种情况下,gydF4y2Ba“startnode”gydF4y2Ba
事件表明起始节点每次搜索重启。gydF4y2Ba
版本历史gydF4y2Ba
介绍了R2015bgydF4y2Ba
另请参阅gydF4y2Ba
dfsearchgydF4y2Ba
|gydF4y2BaconncompgydF4y2Ba
|gydF4y2Ba图gydF4y2Ba
|gydF4y2Ba有向图gydF4y2Ba