确定添加的边缘是否完成给定路径的好方法?

时间:2019-05-23 23:39:47

标签: cytoscape.js

在cytoscape.js中的无向图中,我想确定是否添加边会完成设置的路径。可以以任何顺序添加边缘。路径是静态定义的。同一节点之间不允许有多个边缘。

例如,在下图中: A-->B-->C-->D E-->F添加边沿D-->E将完成设置的路径A-->F

当前,以下方法似乎效果很好:

let col = cy.$(`[source = "1"][target = "10"],[source = "10"][target = "2"]`)
return col.length == 2 && col.filter(`#${edge.id()}`).length == 1

在此处通过将1添加到图形中来确定2edge之间的路径已经完成,并且edge是所述路径的直接成员。 / p>

虽然可行,但我怀疑存在更有效的解决方案。

由于所有路径都是事先静态已知的,因此面向动态搜索的解决方案似乎有些过头,而路径本身可以增长到多达约50个段,从而产生上述选择器。

这里还有其他更简单明了的方法吗?

0 个答案:

没有答案