【发布时间】:2023-03-27 08:37:02
【问题描述】:
我使用mxGraph 创建了一个自定义编辑器。在我的编辑器中,用户应该能够创建一个acyclic graph。当用户will try to make a cycle in the graph 时,应出现一个弹出窗口,通知用户图形中的cycles are not permitted 并应进行回滚。
mxGraph 对象具有属性multigraph (boolean),它指定图形是否应允许同一对顶点之间存在多个连接,并且与我想要的上述行为类似。
我在 mxGraph 对象的代码中搜索了任何类似的属性,声明该图应该是非循环的,但到目前为止还没有找到任何东西。我也许可以实现我自己的自定义逻辑来使图形无环,但我应该每次连接一对顶点时遍历目标顶点的所属树以检查是否会创建一个循环,这将非常昂贵/耗时,因为该图可能包含数千个顶点和边,因此我正在寻找一种简单的方法/开箱即用的方法(如果存在)来实现它。
示例 - 无环图(OK)
示例 - 循环图(不正常 - 不应允许)
任何帮助将不胜感激,在此先感谢。
【问题讨论】:
标签: javascript graph directed-acyclic-graphs mxgraph