小编Bri*_*son的帖子

检测图何时重新收敛的算法(类似于公共子树?)

我一整天都在研究这个问题,我正在重写我们的一个旧产品,而且我很难确定如何在流程图中找到特定的节点.这个问题让我想起了大学,但对于我的生活,我无法想出一个算法来解决这个问题.

我附上3个屏幕截图来帮助解释这一点,但基本问题是,给出是/否?决策节点,找到终止分支的最近的子节点.

我在C#.NET和JSON工作.在JSON中,我有一个对象,它为每个节点提供唯一的标识符,并且还标识从一个节点到下一个节点的每个"链接".我希望编写一个函数(或几个)来确定给定C#中的分支节点的第一个"结束节点".目前我已经在C#中将jSON构建为XML.

鼓励任何和所有想法,不是真正寻找代码而是寻找方法/算法.

在此输入图像描述 在此输入图像描述

给定是/否找到延迟块..所有子节点遍历的第一个节点

附件是图中jSON的输出:

{ "class": "go.GraphLinksModel",
  "linkFromPortIdProperty": "fromPort",
  "linkToPortIdProperty": "toPort",
  "nodeDataArray": [ 
{"key":-1, "category":"Start", "loc":"169 288", "text":"Start"},
{"key":-2, "category":"End", "loc":"855 394", "text":"End"},
{"category":"Branch", "text":"Yes or No", "key":-4, "loc":"284.8837209302326 285.7848837209302"},
{"category":"DelayNode", "text":"Delay", "key":-3, "loc":"365.8837209302326 215.52345997177622"},
{"category":"Branch", "text":"Yes or No", "key":-5, "loc":"478.8837209302326 214.52345997177622"},
{"category":"DelayNode", "text":"Delay", "key":-6, "loc":"568.8837209302326 151.52345997177622"},
{"category":"DelayNode", "text":"Delay", "key":-7, "loc":"573.8837209302326 268.5234599717762"},
{"category":"DelayNode", "text":"Delay", "key":-8, "loc":"653.8837209302326 215.52345997177622"},
{"category":"Branch", "text":"Yes or No", "key":-9, "loc":"392.8837209302326 392.5234599717762"},
{"category":"DelayNode", "text":"Delay", "key":-10, "loc":"454.8837209302326 317.5234599717762"},
{"category":"DelayNode", "text":"Delay", "key":-11, "loc":"550.8837209302326 473.5234599717762"},
{"category":"DelayNode", "text":"Delay", "key":-12, "loc":"549.8837209302326 317.5234599717762"}, …
Run Code Online (Sandbox Code Playgroud)

c# algorithm graph subtree

8
推荐指数
3
解决办法
861
查看次数

标签 统计

algorithm ×1

c# ×1

graph ×1

subtree ×1