今天的Erlang Thursday讲的是 digraph:in_neighbors/2.
digraph:in_neighbors/2 第一个入参是一个有向图G,第二个入参是一个节点V,函数将返回一个由若干节点组成的列表,而且有从这些节点发出并进入节点V的边。
我们继续用上个星期的文章 digraph:get_path/3 里的例子基础上进行讲解。
|
|
图和相关元素都设置好后,我们可以开始在我们的图里找不同节点的入站邻居节点 。
|
|
上述输出我们可以看到对于节点4函数返回值是[[‘$v’ | 1],[[‘$v’ | 2]]],也就是节点2和节点3。对于节点1,我们得到一个 inbound 邻居节点4,而对于节点2,我们得到inbound邻居节点1。
digraph:out_neighbors/2
digraph模块也包含函数 digraph:out_neighbors/2 ,它的返回值是由从入参节点发出的边相应的所有节点组成的列表。
|
|
我们从上图看到节点2有“指向”节点3和节点4的边,而我们再看 digraph:out_neighbors/2 的输出,得到的结果就是节点3和节点4。
这个例子里我们得到的节点列表是节点4在节点3点前面,但是这个顺序是不确定的,正如官方文档所讲的,“边是没有特定的顺序的”,这个情况对于 digraph:in_neighbors/2 也一样。
原文链接: https://www.proctor-it.com/erlang-thursday-digraph-in_neighbors-2/