js怎么检测出一个类似神经网络的流程图里面有没有闭环线路?

问题:如下图:

这是一个流程图配置页面,整个流程图中的节点连线,可以一生十、十生百……,

我可以遍历出整图所有连线,每条连线有个两个锚点:sourceId、targetId。

图中红色连线是不允许的闭环线路,就是说整个流程图中不允许出现死循环。

js怎么检测出一个类似神经网络的流程图里面有没有闭环线路?

阅读 3.7k
1 个回答
这是目前的思路:
遍历所有的线,
    判断每一条线的起点是否等于终点,
        如果相等则结束:该条线首尾相接。
        如果不相等,则把已经判断过的这个终点1存进一个hasCheckedTarget数组,同时把这条线1的起点1当做下一条线2的终点2。
            再遍历以终点2为终点的所有线2,判断所有的线3的起点是否包含在hasCheckedTarget数组里,
                如果包含,则表示出现两个节点间的直接循环。
                如果不包含,则把已经判断过的这个终点2(也就是起点1)也存进hasCheckedTarget数组,同时把这组线2的起点2当做下一组线3的终点3。
                    再遍历…………    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题