猿问

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

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

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

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


茅侃侃
浏览 1026回答 1
1回答

慕莱坞森

遍历所有的线,     判断每一条线的起点是否等于终点,         如果相等则结束:该条线首尾相接。         如果不相等,则把已经判断过的这个终点1存进一个hasCheckedTarget数组,同时把这条线1的起点1当做下一条线2的终点2。             再遍历以终点2为终点的所有线2,判断所有的线3的起点是否包含在hasCheckedTarget数组里,                 如果包含,则表示出现两个节点间的直接循环。                 如果不包含,则把已经判断过的这个终点2(也就是起点1)也存进hasCheckedTarget数组,同时把这组线2的起点2当做下一组线3的终点3。                     再遍历…………
随时随地看视频慕课网APP

相关分类

Html5
我要回答